Firestore:获取在哪里找到的文档的子集合

时间:2017-12-04 13:50:43

标签: javascript firebase typeerror google-cloud-firestore

我正在尝试将文档放在子集合中,该子集合是使用.where函数找到的文档的一部分

例:

  • RootColl /
    • Doc A /
      • SubColl 1
        • Doc 1
        • Doc 2
        • Doc 3
      • SubColl 2
        • 文档
    • Doc A /
      • SubColl 1
        • Doc 1
        • Doc 2
        • Doc 3
      • SubColl 2
        • 文档

我希望从文档级{= 1}获取SubColl 1下的所有文档

我想这样做:

db.collection("RootColl").where("field", "==", "1").collection("SubColl 1").get()

但通过这样做我得到了错误

Uncaught TypeError: db.collection(...).where(...).collection is not a function

编辑1: 通过遵循Frank van Puffelen的建议,我得到了同样的错误,“收集”不是一个功能

1 个答案:

答案 0 :(得分:3)

子集合存在于特定文档下。您现在共享的查询指向到多个文档。您需要执行查询以确定它指向的文档,然后循环结果,并获取每个文档的子集合。

在代码中:

var query = db.collection("RootColl").where("field", "==", "1");
query.get().then((querySnapshot) => {
  querySnapshot.forEach((document) => {
    document.ref.collection("SubColl 1").get().then((querySnapshot) => {
      ...
    });
  });
});