Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Firestore中获取引用数组?_Javascript_Google Cloud Firestore - Fatal编程技术网

Javascript 如何在Firestore中获取引用数组?

Javascript 如何在Firestore中获取引用数组?,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,在Firestore中,我的聊天室集合具有以下结构: chats: [ chat1: { jobs: [ jobs/job1, jobs/job2, jobs/job4 ] }, chat2: { jobs: [ jobs/job2, jobs/job3 ] } ] 如果我在c

在Firestore中,我的聊天室集合具有以下结构:

chats: [
    chat1: { 
        jobs: [
            jobs/job1,
            jobs/job2,
            jobs/job4
        ]
    },
    chat2: { 
        jobs: [
            jobs/job2,
            jobs/job3
        ]
    }
]
如果我在
chat1
,并且我有数据,那么我就有了对作业的引用数组。我知道我有
jobs/job1
jobs/job2
jobs/job4

如何查询和获取所有这些作业的数据

我可以做到:
firestore.doc(“作业/job1”).get()
firestore.doc(“作业/job2”).get()
firestore.doc(“作业/job3”).get()
但这似乎效率很低

我不明白如何过滤
firestore.collection(“作业”)
来满足我的需求

我在这里看到了一个类似的问题,但是对于Java,我无法将其转换为JavaScript

我可以做:firestore.doc(“jobs/job1”).get()和firestore.doc(“jobs/job2”).get()和firestore.doc(“jobs/job3”).get(),但这似乎效率很低

这正是您想要做的-您可以迭代列表并单独获取每个文档。Firestore并没有提供一些优化的方法来使用web和移动SDK在一个查询中获取多个文档——只需使用自己的查询获取每个文档就足够了。这种方法不会有任何问题

另见:

我可以做:firestore.doc(“jobs/job1”).get()和firestore.doc(“jobs/job2”).get()和firestore.doc(“jobs/job3”).get(),但这似乎效率很低

这正是您想要做的-您可以迭代列表并单独获取每个文档。Firestore并没有提供一些优化的方法来使用web和移动SDK在一个查询中获取多个文档——只需使用自己的查询获取每个文档就足够了。这种方法不会有任何问题

另见: