首页 > 解决方案 > 查询不够深入?

问题描述

我正在使用 Firestore 和 Java。我正在尝试通过查询和批处理更改多个值。

我的数据库

Kullanıcılar
-deneme@deneme.com
--Hayvanlar
---RandomId1
   "ozel", "E65"  //I WANNA UPDATE THIS (First))

---RandomId2
----Dogru
-----RandomId
------Acep
      "ozel", "E65" //AND THIS (Second)

我的代码

CollectionReference cr = fs.collection("Kullanıcılar/" + deneme@deneme.com + "/Hayvanlar");

Query query = cr.whereEqualTo("ozel", "E65");

query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {

                        WriteBatch batch = fs.batch();

                    for (DocumentSnapshot ds : task.getResult()) {
                        batch.update(ds.getReference(), "ozel", "E75");
                    }
                        batch.commit();
                }
            }
        });

当我运行此代码时,我唯一的第一个值会更新。我从来没有达到第二个值:/

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


移出batch.commit()你的 for 循环


推荐阅读