从Firebase Swift iOS应用程序获取所有数据

时间:2019-12-30 03:53:29

标签: ios swift firebase google-cloud-firestore

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

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

在上面的代码中,可以说我正在从ui传递信息。但我在下拉菜单中选择了“全部”作为“区域”。我如何将选择内容传递给Firebase以获取所有数据,而不论其区域如何?

1 个答案:

答案 0 :(得分:0)

如果您不想过滤区域,则只需删除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的实际情况。