簡體   English   中英

如何從 Android java 的 FIrestore 中的不同文檔中獲取相同的字段

[英]How can I get same field from different document in FIrestore in Android java

我有一個看起來像這樣的 Firestore 數據庫在此處輸入圖像描述

每個文檔都具有相同的字段,只是具有不同的值。 如何從每個文檔中只獲取一個字段? 例如:文檔 1 的千卡值為 424,文檔 2 的千卡值為 251 我怎樣才能只獲得該值而不獲得其他值? 我瀏覽了互聯網、Stackoverflow Git 和其他一些 QNA 網站,甚至 firebase 文檔,但找不到我需要的東西。

所有 Firestore 偵聽器都在文檔級別觸發。 這意味着您無法僅獲取文檔中單個字段的值。 這是整個文件或什么都沒有。 這就是 Firestore 的工作方式。 但是,您只能讀取存在於多個文檔中的單個屬性的值。 為此,請使用以下代碼行:

FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("Food List").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                if (document != null) {
                    long kcal = document.getLong("kcal");
                    Log.d(TAG, "kcal: " + kcal);
                }
            }
        } else {
            Log.d(TAG, task.getException().getMessage());
        }
    }
});

logcat 中的結果將是:

kcal: 424
.........

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM