firebase - 如何以编程方式形成 Firestore 查询?
问题描述
我正在尝试根据用户输入动态/以编程方式进行 firestore 查询。问题是输入在编程时可能是未知的可变数量。我想以这样一种方式创建查询,即如果用户输入一个输入或多个搜索词,它将运行。
我的示例代码在 Kotlin for Android 中:
val searchFilters = listOf(
"searchField1",
"searchField2",
"searchField3"
)
var refQuery= db.collection("myCollection")
for(filterName in searchFilters) {
refQuery.whereEqualTo(filterName, true)
}
refQuery.get()
上面的代码似乎并没有实际添加任何过滤器选项,而是返回了整个集合。动态或以编程方式创建 Firestore 查询的正确方法是什么?
编辑:可以在此处找到答案,但我将把它留在这里供其他人搜索参考,因为它被询问的方式不同,足以保证它。
必须将其重新分配给自己:
for(filterName in searchFilters) {
refQuery = refQuery.whereEqualTo(filterName, true)
}
解决方案
推荐阅读
- haskell - 将用户输入(整数)转换为条件打印语句
- speech-recognition - 如何使 Dialogflow 语音到文本转录字母而不是单词
- java - spirngframework.ws HttpComponentsMessageSender - 如何设置每个主机的最大连接数?
- angular - 如何为此字段编写多种类型的 OpenAPI (Swagger) 定义?
- python - 在聊天机器人中实现多会话支持
- powershell - AD 服务器状态的 powershell 脚本问题
- html - 如何创建具有边框半径的图像?
- ios - PDFKit:如何将 PDFView 中的当前页面移动到特定偏移量
- go - 无法从使用 IncompleteKey() 创建的数据存储中检索实体
- css - CSS中的“包含块”和“块容器框”有什么区别?