【问题标题】:Is it possible to have either or whereFields for Firestore query?Firestore 查询是否可以使用其中之一或 whereFields?
【发布时间】:2019-12-31 19:18:06
【问题描述】:

我想要一个类似的查询

db.collection("Bookings")
    .whereField("servicer", isEqualTo: userID || "customer", isEqualTo: userID)

它不会有两个不同的读取,而是只有一个,它会获取 servicer == userIDcustomer == userID 的所有文档。

【问题讨论】:

    标签: swift firebase google-cloud-firestore


    【解决方案1】:

    这对于单个查询是不可能的 - 没有适用于文档中多个字段的逻辑 OR 操作。您将需要有两个查询,一个用于“服务商”,另一个用于“客户”,然后在客户端合并这些查询的结果。

    【讨论】:

    • 我可以使用 Firestore 索引吗?我一直在阅读它,但似乎找不到适合我的示例。
    • 不,没有什么可以帮助将两个不同字段的两个查询压缩为一个。这正是 Firestore 的工作方式。您只能使用逻辑 AND 而非逻辑 OR 组合字段。
    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多