javascript - 将文档添加到 Firestore 中不存在的子集合
问题描述
希望这不是太明显,但在这一点上我真的很难过。我无法将文档添加到 Firebase Firestore 中不存在的子集合。
添加到已经存在的子集合时,该代码可以完美运行。
db.collection("collectionId").doc(docId).collection("subcollectionId").doc(subdocId).collection("items").add({
userName,
isActive: true
}).then(function() {
console.log("Document successfully written!");
}).catch(function(error) {
console.error("Error writing document: ", error);
});
在这里要清楚,子子集合“项目”存在于我的一些子集合中,并且尚未在其他子集合中创建。当我尝试在已经有其他“项目”的子集合中使用上述代码将文档添加到“项目”时,它会产生以下结果:
Document successfully written!
当我尝试将文档添加到“项目”不存在的子集合中的“项目”时,它不会添加项目并且没有任何内容写入控制台。
我在这里先向您的帮助表示感谢!
根据要求更新屏幕截图:
解决方案
当您将文档写入任何不存在的集合或子集合时,它将立即存在。这种行为永远不会改变。如果没有实际编写文档,SDK 永远不会给您一个成功的指标。
如果您说文档没有被写入,那么听起来您没有找对地方。在网络浏览器中刷新 Firebase 或 Cloud 控制台有助于显示新创建的集合。如果您确切知道subdocId
此处的值是什么,这也将有所帮助,因此您可以确定在哪里查看。
推荐阅读
- reactjs - React 检测到 Hooks 错误的顺序发生了变化
- flutter - 我无法在 android 手机/模拟器上调试(颤振)
- python-3.x - 如何使用脚本在 python 中安装特定版本的模块/库
- spring - 将 Spring REST 服务绑定到接口而不是 IP
- xml - 在 odoo xml 视图中计算
- node.js - 如何唯一标识 puppeteer 浏览器实例?
- java - 在 java 中,什么是在运行时通过唯一特征(完全限定名称/ID/)在运行时访问类及其方法的正确/规范方式
- c# - 无法从带有 ASP.NET Core 的 Docker 容器连接到 SQL Server 容器
- go - 不同类型的元素列表(尝试构建解析器时)
- kotlin - 如何在 Ktor 中生成 .war 文件?