或 Firestore 查询中的逻辑操作

Posted

技术标签:

【中文标题】或 Firestore 查询中的逻辑操作【英文标题】:OR Logical operation in Firestore Query 【发布时间】:2018-04-16 00:09:42 【问题描述】:

有什么方法可以在 Firestore 查询中应用 OR 操作,例如:

if (name == "Jhon" || 姓 == "James") 然后这样做

【问题讨论】:

请显示您当前的 Firebase 查询 @PhanVanLinh 我现在正在使用这个查询: query.whereEqualTo("name", "Jhon").whereEqualTo("lastname", "James"); 没有直接的方法可以做到这一点,但是,如果你想编写复杂的查询,推荐的方法是使用 Firestore。 @JoelFernandes 我尝试了各种方法,但它们都是 AND 逻辑操作 【参考方案1】:

Firestore 目前似乎不支持析取。

解决方法是合并查询query.whereEqual(name, John)query.whereEqual(surname, James) 的结果。

请记住,您必须从结果中删除重复的结果,即在两种情况下都被评估为 true 的结果。

【讨论】:

您建议的方式是从同一集合中获取对象列表,但对其进行不同的过滤并将其合并在一起以获得 OR 逻辑操作的解决方法。 你能给我一个合并两个查询的例子吗 @AnooshKhalid 他的意思是你必须单独获得每个结果,然后手动将它们合并到一个列表中。

以上是关于或 Firestore 查询中的逻辑操作的主要内容,如果未能解决你的问题,请参考以下文章

如何正确查询firestore数据库?

合并 Firestore 查询时出现重复数据

Firestore:按文档数组中的项目查询

我可以获取从 Firestore 集合组查询中获取的文档的路径或引用吗?

如何通过在 Firestore 中的查询从索引中获取多个文档到其他索引

使用 OR 查询获取 Firestore 文档