或 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 集合组查询中获取的文档的路径或引用吗?