【问题标题】:Firebase/Firestore find documents that have a field in a given arrayFirebase/Firestore 查找在给定数组中具有字段的文档
【发布时间】:2023-04-08 19:22:02
【问题描述】:

我有一个 firebase 集合,它的文档有一个字段 phone_number。

我想在我给定的数组中查询所有具有 phone_number 字段的文档的 firebase!

是否可以在一个查询中执行此操作,还是应该遍历所有文档并执行此操作?

类似这样的:

db.collection('users').where( 'phoneNumber', "in", data.phoneNumbers);
// data.phoneNumbers is an array 

注意!!!我在谷歌云功能中这样做!

谢谢

【问题讨论】:

    标签: firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    数组查询支持只适用于相反的情况:当您有一个值并且您想在字段的数组中查找包含该值的文档时。

    https://firebase.google.com/docs/firestore/query-data/queries#array_membership

    var results = docsRef.where('phoneNumbers', 'array-contains',
      '555-123-4567');
    

    在您的情况下,您需要遍历电话号码列表并为每个电话号码运行查询。

    【讨论】:

      【解决方案2】:

      现在可以使用最近添加的in operator

      citiesRef.where('region', 'in',
          [['west_coast', 'east_coast']]);
      

      【讨论】:

        猜你喜欢
        • 2019-07-19
        • 2015-09-02
        • 1970-01-01
        • 2012-08-12
        • 1970-01-01
        • 2016-06-18
        • 2020-10-13
        • 1970-01-01
        相关资源
        最近更新 更多