代码之家  ›  专栏  ›  技术社区  ›  digit

或在消防仓库中[副本]

  •  0
  • digit  · 技术社区  · 4 年前

    the docs :

    您还可以链接多个where()方法来创建更具体的查询(逻辑AND)。

    我该如何表演 OR 查询? 例子:

    1. 把字段所在的所有文件都给我 status open upcoming
    2. 把字段所在的所有文件都给我 status == open createdAt <= <somedatetime>
    0 回复  |  直到 7 年前
        1
  •  1
  •   Artur A    1 年前

    OR 不支持,因为服务器很难扩展它(需要保持状态以进行数据消除)。解决方法是发出2个查询,每个条件一个,并在客户端上进行数据消除。


    编辑(2019年11月):

    Cloud Firestore现在支持 IN 有限类型的查询 查询。

    对于上面的示例,您可以执行以下操作:

    // Get all documents in 'foo' where status is open or upcmoming
    db.collection('foo').where('status','in',['open','upcoming']).get()
    

    然而,做一个将军仍然是不可能的 涉及多个领域的条件。