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

范例:

  • RootColl/
  • 文件A/
  • SubColl 1
  • 文件1
  • 文件2
  • 文件3
  • SubColl 2
  • 文件
  • 文件A/
  • SubColl 1
  • 文件1
  • 文件2
  • 文件3
  • SubColl 2
  • 文件

  • 我想从doc字段级别== 1的SubColl 1下获取所有文档

    我正在尝试这样做:
    db.collection("RootColl").where("field", "==", "1").collection("SubColl 1").get()
    但是这样做我得到了错误
    Uncaught TypeError: db.collection(...).where(...).collection is not a function
    编辑1:
    通过遵循弗兰克·范·普菲伦的建议,我得到了同样的错误,“收藏”不是一个函数
  • Current Code
  • Error
  • 最佳答案

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

    在代码中:

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

    10-05 18:56