【发布时间】:2019-12-14 11:34:22
【问题描述】:
我的数据库如下:
如果我使用RecyclerView,我如何才能只检索schedules 数组中的数字为1908150000(例如)的文档?
我知道的一件事是,我可以使用以下代码查看具有上述条件的文档:
FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference eventRef = db.collection("Events");
eventRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
for (DocumentSnapshot documentSnapshot : task.getResult()) {
List<Long> list = (List<Long>) documentSnapshot.get("schedules");
for (Long listItem : list) {
if (listItem > 1908100000) {
Log.d("TAG", documentSnapshot.getId());
break;
}
}
}
}
});
而且,使用query,我知道有函数whereArrayContains(),但它需要一个固定的数字来比较,因为在我的情况下我需要将它设为一个范围。
那么,是否可以将具有这种条件的文档放入RecyclerView?
【问题讨论】:
标签: java android firebase android-recyclerview google-cloud-firestore