【问题标题】:How to search for "any" with .where() in firestore? [duplicate]如何在 Firestore 中使用 .where() 搜索“任何”? [复制]
【发布时间】:2019-09-16 09:35:25
【问题描述】:

有没有办法有一个“空”的 where 查询(搜索任何东西)。

拥有

db.collection('skies').where('sky','==','blue')

现在我必须做

if (searchForAny){
  db.collection('skies').otherStuff();
}
else {
  db.collection('skies').where('sky','==','blue').otherStuff();
}

【问题讨论】:

    标签: google-cloud-platform google-cloud-firestore


    【解决方案1】:

    有没有办法有一个“空”的 where 查询(搜索任何东西)

    是的。要解决这个问题,只需删除以下调用:

    .where('sky','==','blue')
    

    当您使用where() 函数时,您告诉Firstore 只返回那些sky 属性包含blue 值的文档。如果您需要所有文档,请仅使用对 skies 集合的引用,而不是查询。

    【讨论】:

    • 如您所见,我已经这样做了。但是有两个不同的搜索真的很麻烦,因为这是一个相当频繁的场景。
    • 对不起,我没听懂你的意思。恐怕你不是,因为你打电话给otherStuff()(不知道它可能是),而在其他部分你肯定在使用查询。为什么说“有两个不同的搜索真的很麻烦”?如果您不需要两个,请使用一个。
    猜你喜欢
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2021-09-14
    相关资源
    最近更新 更多