我在 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("jobs/job1").get()
和 firestore.doc("jobs/job2").get()
和 firestore.doc ("jobs/job3").get()
但这似乎效率很低。
而且我不明白如何过滤 firestore.collection("jobs")
来给我我想要的东西。
我看到了few other questions这里问同样的事情,但是对于 Java,我无法将其翻译成 JavaScript。
最佳答案
I could do: firestore.doc("jobs/job1").get() and firestore.doc("jobs/job2").get() and firestore.doc("jobs/job3").get() but that seems very inefficient.
这正是您想要做的 - 您可以迭代列表并单独获取每个文档。 Firestore 不提供某种优化方法来使用网络和移动 SDK 在一次查询中获取多个文档 - 只需使用自己的查询获取每个文档就非常高效。使用这种方法不会有任何问题。
另请参阅:Google Firestore - how to get document by multiple ids in one round trip?
关于javascript - 如何在 Firestore 中获取引用数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59611343/