如何使用集合引用更新Firestore中的文档?

时间:2019-04-01 01:20:22

标签: java android google-cloud-firestore

在使用Firestore android中的集合引用更新我的文档时遇到问题。它是自动生成的ID,所以我什至不知道我的文档的ID是什么。

1 个答案:

答案 0 :(得分:1)

在检索数据时保存ID,例如

db.collection("cities")
    .whereEqualTo("capital", true)
    .get()
    .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                for (QueryDocumentSnapshot document : task.getResult()) {
                    City city = document.toObject(City.class);

                    city.setId(document.getId()); //This is what you are looking for

                    ...

                }
            } else {
                Log.d(TAG, "Error getting documents: ", task.getException());
            }
        }
    });

更新时可以做到

city.setName("LA"); //edit object
db.collection("cities").document(city.id).set(city); //save object

PS我没有运行此代码-可能有语法错误,请注意不要复制粘贴。