如何使用Firebase Firestore获取子集合?



我正在捆绑获取文档中的所有集合,我不知道该怎么做,我是Firestore的新手。

Firebase.firestore()
.collection("reservations")
.doc(tripUid)
.get()
.then(doc => {
console.log(doc.doc.data());
}).catch(error => {
console.log("Error getting document:", error);
});

我的火力基地消防店数据

所以子集合仍然遵循Firestore的整个路径思想。举个例子,假设您有一个名为"订单"的集合,其中包含一个名为"产品"的子集合。要获取特定订单的所有产品文档,您需要编写类似Firebase.firestore().collection("Orders/orderid123/Products").get()其中 orderid123 是您想要产品的订单的 ID。

查看您的数据模型,您实际上已将子集合命名为似乎是生成的 ID。因此,在上面的例子中,您将使用"ymuIjdv...",而不是使用"产品"。您可能希望重新审视如何命名此子集合,以为其提供更易于阅读的名称。看起来您正在为子集合文档生成 ID,并将其用作子集合的名称。

在您的确切设置中,您所要求的可以通过执行来实现Firebase.firestore().collection("reservations/" + tripUid + "/ymuIjdvwWnOr20XWVp6gwRKtmgD2").get().这将获取保留下的所有子集合文档,并在tripUid变量和集合'ymuIjdvwWnOr20XWVp6gwRKtmgD2'中保存。

这是 Firebase Admin SDK 的实现方式

希望这会有所帮助

firestore()
.collection("reservations")
.doc(tripUid)
.listCollections()
.then((subCollections) => {
subCollections.forEach((subCollection) => {
subCollection
.get()
.then((array) => {
array.docs.forEach((doc) => {
console.log(doc.data());
});
});
});
});

最新更新