Firestore firebase Android搜索和更新查询



我正在FireBase-Firestore中尝试更新集合中现有文档的字段。我想使用其中一个字段搜索该文档。我的收藏名称是"投诉",我的文档结构看起来像

complainant_Name: "XYZ"
complaint_Details : "some random details"
e_Mail: "xyz@gmail.com"
id: 5
phone_No: "1234567890" 

我想搜索文档,如果文档的"id"字段为5,我想更新它,将"complaint_Name"字段更改为"ABC"。如何在javaandroid中编写此查询的代码?在Firebase Firestore中搜索后,我找不到任何告诉如何更新的代码源。

要解决此问题,请使用以下代码行:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference complaintsRef = rootRef.collection("complaints");
complaintsRef.whereEqualTo("id", 5).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Map<Object, String> map = new HashMap<>();
map.put("complainant_Name", "ABC");
complaintsRef.document(document.getId()).set(map, SetOptions.merge());
}
}
}
});

使用此代码后,属性complainant_Name将保持ABC的值。

最新更新