Dav*_*vid 2 firebase flutter google-cloud-firestore
我正在创建一个 flutter 应用程序,它应该查询 Firestore 集合并在满足两个条件时返回结果。这是我的代码:
Stream<List<FormQuestions>> get question {
return someCollection
.where('myQUestion', isEqualTo: 'nameQuestion')
.snapshots()
.map(_someQuestionListFromSnapshot);
}
Run Code Online (Sandbox Code Playgroud)
如果我只使用一个 .where() 条件,它就可以正常工作。但是对于两个,尽管我有满足这两个条件的文件,但它没有给出任何结果。我希望它返回多个 .where() 条件,如下所示:
Stream<List<FormQuestions>> get question {
return someCollection
.where('myQUestion', isEqualTo: 'nameQuestion')
.where('myQuestion', isEqualTo: 'ageQuestion')
.snapshots()
.map(_someQuestionListFromSnapshot);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法添加 OR(||) 运算符,或者如何执行此操作以便获得“nameQuestion”和“ageQuestion”的结果?请协助。谢谢。
Firestore 不支持常规 OR 查询,但它支持IN 查询,您可以使用它来实现您需要的功能。
你的查询看起来像citiesRef.where('country', 'in', ['USA', 'Japan']);
someCollection
.where('myQUestion', whereIn: ['nameQuestion', 'ageQuestion'])
Run Code Online (Sandbox Code Playgroud)
另请参阅:
where| 归档时间: |
|
| 查看次数: |
5894 次 |
| 最近记录: |