Android Studio-如何从Firestore的子集合中获取文档?

时间:2018-12-16 05:46:44

标签: java android firebase google-cloud-firestore

我想在文档中date = DATE和title = TITLE的子集合中获取文档。我将日期和标题用作主键,以便可以显示来自子集合“公告”的文档中的信息。我将如何在Android Studio中做到这一点?

还是使用其他结构会更好?

谢谢!

Image - Firestore Structure

1 个答案:

答案 0 :(得分:0)

要解决此问题,请使用以下代码行:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference bulletinRef = rootRef.collection("bulletin");
bulletinRef.whereEqualTo("date", date).whereEqualTo("title", title).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                Log.d(TAG, document.getString("title"));
            }
        } else {
            Log.d(TAG, "Error getting documents: ", task.getException());
        }
    }
});

logcat中的结果将是bulletin集合中所有文档的所有标题。