在使用Firestore android中的集合引用更新我的文档时遇到问题。它是自动生成的ID,所以我什至不知道我的文档的ID是什么。
答案 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我没有运行此代码-可能有语法错误,请注意不要复制粘贴。