【发布时间】:2018-03-17 17:12:01
【问题描述】:
假设我将这个最小的数据库存储在 Cloud Firestore 中。如何检索subCollection1 和subCollection2 的名称?
rootCollection {
aDocument: {
someField: { value: 1 },
anotherField: { value: 2 }
subCollection1: ...,
subCollection2: ...,
}
}
我希望能够仅读取 aDocument 的 ID,但只有当我 get() 文档时才会显示字段。
rootRef.doc('aDocument').get()
.then(doc =>
// only logs [ "someField", "anotherField" ], no collections
console.log( Object.keys(doc.data()) )
)
【问题讨论】:
-
程序员不应该事先知道集合吗?你的用例是什么?
-
@VictorNascimento。用例处理缺少递归删除。我正在尝试删除其中包含子集合的文档,并且这些子集合也应该被删除,因为它们是文档的子集合并且不再有效。是的,目前我碰巧知道集合的名称,但是为了删除单个文档而需要手动枚举可能无限深度的树上的每个子集合是很糟糕的做法。
-
子集合不是用于引用它们的父文档的成员/属性。
-
递归删除可以在 Admin SDK 中和通过 CLI 完成。请参阅文档here。
标签: javascript firebase google-cloud-firestore