【发布时间】:2018-10-11 14:26:07
【问题描述】:
由于 Firestore 中没有逻辑 OR 运算符,我试图在本地合并 2 个单独的查询。
现在我想知道如何才能保持结果的正确顺序。当我独立运行 2 个查询时,我无法对结果进行具体排序(至少不是我使用 orderBy 方法从 Firestore 获取结果的顺序)。
我的想法是将第二个查询放在第一个查询的 onSuccessListener 中。这是一个坏主意吗?
public void loadNotes(View v) {
collectionRef.whereLessThan("priority", 2)
.orderBy("priority")
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
Note note = documentSnapshot.toObject(Note.class);
//adding the results to a List
}
collectionRef.whereGreaterThan("priority", 2)
.orderBy("priority")
.get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
Note note = documentSnapshot.toObject(Note.class);
//adding the results to a List
}
}
});
}
});
}
【问题讨论】:
标签: java android firebase google-cloud-firestore