簡體   English   中英

firebase firestore 為集合查詢返回錯誤數據

[英]firebase firestore return wrong data for collection query

我正在使用 Firestore db 通過 collections 數組的名稱獲取集合,當我打印結果不是從集合是 db.collection(collectionName).get() 方法時,Firestore 似乎從另一個集合返回錯誤結果。 從 collections 的返回值中,我也沒有在循環中看到錯誤。任何線索可能是問題所在。

   private String[] collections = {"appetizers", "breakfast", "indian", "lunch", "noodles", "salad", "trending"};
    private int n = 0;
    FirebaseFirestore db = FirebaseFirestore.getInstance();
    for (int i = 0; i < collections.length; i++) {
        db.collection(collections[i])
                .get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {
                            resultList = new ArrayList<>();
                            for (QueryDocumentSnapshot document : task.getResult()) {
                                Map<String, Object> data = document.getData();
                                System.out.println(collections[DashBoardActivity.this.n] + " collection " + (String) data.get("data_name"));

                            }
                            DashBoardActivity.this.recipesMap.put(collections[DashBoardActivity.this.n], resultList);
                            DashBoardActivity.this.n++;

                        } else {
                            System.out.println("Task not successful fire");
                        }
                    }
                });

編輯:添加數據庫截圖在此處輸入圖像描述

如果所有數據都被接收,我認為這只是因為每次運行.get()之間的順序不同,請考慮使用ref.orderBy(/* field */); 獲得恆定的訂單。

暫無
暫無

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

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