首页 > 解决方案 > 从 firebase swift ios 应用程序中获取所有数据

问题描述

我正在尝试找到正确的查询以从 ios 应用程序传递到 firebase 以引入所有数据。

db.collection("users")
    .whereField("country", isEqualTo: country)
    .whereField("state", isEqualTo: state)
    .whereField("city", isEqualTo: city)
    .whereField("area", isEqualTo: area)
    .getDocuments

在上面的代码中,假设我从 ui 传递信息。但我在下拉列表中有一个选项可以为区域选择“全部”。我如何将该选择传递给firebase以引入所有数据而不考虑区域?

标签: iosswiftfirebasegoogle-cloud-firestore

解决方案


如果您不想过滤区域,只需省略区域的 where 子句:

db.collection("users")
    .whereField("country", isEqualTo: country)
    .whereField("state", isEqualTo: state)
    .whereField("city", isEqualTo: city)

如果要有条件地将其添加到查询中,则必须执行以下操作:

let query = db.collection("users")
    .whereField("country", isEqualTo: country)
    .whereField("state", isEqualTo: state)
    .whereField("city", isEqualTo: city)

if (area_should_be_used) {
    query = query.whereField("area", isEqualTo: area)
}

query.getDocuments()

您必须确定area_should_be_used.


推荐阅读