【发布时间】:2021-06-23 08:46:02
【问题描述】:
以下是我的 Firestore 编写代码
当我尝试写入 Firestore 数据库时,我收到 Missing or insufficient permissions 错误。即使我将规则更改为public。
我在我的项目中使用 npm firebase 包
从 'react' 导入 React, { useState, useEffect } 导入 { myFirebaseStorage, myFirebaseFirestore, timestamp } from '../firebase/config';
const useStorage = (file) => {
const [progress, setProgress] = useState(0);
const [error, setError] = useState(null);
const [url, setUrl] = useState(null);
useEffect(() => {
const storageRef = myFirebaseStorage.ref(file.name);
//database collection reference
const collectionRef = myFirebaseFirestore.collection('images');
storageRef.put(file).on('state_changed', (snap) => {
let percentage = (snap.bytesTransferred / snap.totalBytes) * 100;
setProgress(percentage);
},
(err) => {
setError(err);
},
async () => {
const url = await storageRef.getDownloadURL();
console.log(" Image URL: ", url);
const createdAt = timestamp();
//writing data to firestore
collectionRef.add({ url: url, createdAt: createdAt })
.then((docRef) => {
console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
console.error("Error adding document: ", error);
});
collectionRef
.get()
.then(snapshot => {
// allowed for an admin user
console.log("got it ")
})
.catch(error => {
// a non-admin user is denied list permission
console.log(error.message);
});
setUrl(url);
}
)
}, [file])
return (
{ progress, url, error }
)}export default useStorage
【问题讨论】:
-
您能否分享您尝试写入 Firestore 数据库的代码?
-
@farid-shumbar 添加了代码文件代码..看看,谢谢
标签: reactjs firebase google-cloud-firestore