【发布时间】:2021-06-06 18:25:44
【问题描述】:
我一直在努力解决一个奇怪的错误。无法在 Firebase 中创建文档。没有安全规则可言,只是:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
Firestore 以正常方式初始化并处于活动状态:
import { Firebase } from "../db";
let firebase = Firebase();
let firestore = firebase.firestore();
但是在运行之后除了打印“here1”之外什么都没有发生,其他控制台没有做任何事情,并且没有创建用户 ID 文档,并且它下面没有集合和文档。
export const addEnquiry = async (data) => {
let user = await firebase.auth().currentUser;
data.uid = user.uid;
console.log("here1");
const enquiry = await firestore.collection("users").doc(data.uid).collection("enquiries").doc();
return await enquiry
.set(data)
.then((doc) => {
console.log("here2");
return true;
})
.catch((err) => {
console.log("here3");
console.log(err);
return false;
});
};
上面没有打印除“here1”以外的任何内容,并且卡在文档的设置上。该文档也不是在 Firestore 中创建的。
知道可能出了什么问题以及如何调试它吗?浪费了整整 4 个小时试图弄清楚它,并担心 Firestore 是否存在问题,以至于在生产中使用它是不安全的。
【问题讨论】:
-
在你的代码中添加你如何满足 Firestore 类。如果您提供更多实际代码,我们或许能够查明您的错误
-
您从哪里运行示例以及如何提供凭据?
-
我已经扩展了这个例子,它是标准初始化,失败发生在设置上。第二个 firestore 命令没有产生预期的效果,只是默默地失败
标签: javascript firebase google-cloud-firestore