android - 如何合并firestore中的任务以创建AND查询?
问题描述
这是用于OR
查询任务
请告诉我如何将其转换为AND
查询?
FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference learnings = db.collection("learnings");
Task task1 = learnings.whereLessThan("l_fee", MaximumRequiredPrice)
.get();
Task task2 = learnings.whereLessThan("l_duration", MaximumRequiredDuration)
.get();
Task<List<QuerySnapshot>> allTasks = Tasks.whenAllSuccess(task1, task2);
allTasks.addOnSuccessListener(new OnSuccessListener<List<QuerySnapshot>>() {
@Override
public void onSuccess(List<QuerySnapshot> querySnapshots) {
for (QuerySnapshot queryDocumentSnapshots : querySnapshots) {
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
Learning learning = documentSnapshot.toObject(Learning.class);
result.add(learning);
adapter.notifyDataSetChanged();
}
}
}
});
解决方案
我在这里看到的问题是,当您只需要一个添加了“where”子句的任务时,您有 2 个任务:
FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference learnings = db.collection("learnings");
Task task1 = learnings.whereLessThan("l_fee", MaximumRequiredPrice)
.whereLessThan("l_duration", MaximumRequiredDuration)
.get();
推荐阅读
- smartcontracts - 使用 Nethereum 获取代币和合约信息
- c# - 从 C# 错误中的列表操作点获取唯一值
- python - 什么时候在 Django 中执行 post_save() 信号?
- c# - c#如何按预期名称在excel文件中搜索,没有'%example'%或列名='行值'之类的类型
- python - 为什么我的元组列表只有一个条目?
- python-3.x - python webscraping与BeautifulSoup问题
- c++ - std:hash 可以访问类的私有成员
- c# - 如何正确划分编辑位图的任务以进行过滤器的并行处理
- ffmpeg - 面对上行错误,将两个 MPEG-TS 多播连续再复用为单个 MPEG-TS 多播
- python - 如何打印字符串中每个单词的第一个字母?