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

标签 javascript google-cloud-firestore

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

chats: [
    chat1: { 
        jobs: [
            jobs/job1,
            jobs/job2,
            jobs/job4
        ]
    },
    chat2: { 
        jobs: [
            jobs/job2,
            jobs/job3
        ]
    }
]

如果我在 chat1 上,并且我有数据,那么我就有了作业引用数组。我知道我有 jobs/job1jobs/job2jobs/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/

相关文章:

ios - Swift - 从 Firestore 检索地理点,如何将它们显示为 map 注释

仅使用 WEB API key 的 Firebase Cloud Firestore REST api 身份验证?

Javascript变量传递带撇号的文本字符串,被 chop ?

javascript - toggleClass 只工作一次

javascript - 如何判断每个用户访问每个页面的时间?

javascript - Node.js 中的 Firestore onWrite 回调具有未定义的上下文

Firebase Firestore : how to store and query One to Many relationships?

java - Firestore - 可能的 GeoQuery 解决方法

javascript - 如何使用正则表达式执行验证?

javascript - Lodash 与 Mongoose 合并