如何更新 Firestore 中的值

How to update value in firestore

如何将状态更新为真:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance(); 
CollectionReference applicationsRef = rootRef.collection("Root"); 
DocumentReference applicationIdRef = applicationsRef.document("Registration"); 
applicationIdRef.update("Status",true).addOnCompleteListener(task -> { 

}).addOnFailureListener(new OnFailureListener() { 
  @Override public void onFailure(@NonNull Exception e) { 
    Log.d("TAG", "onFailure: "+e); 
  } 
});

我是用这种方法做的,但我不知道如何进入状态字段。

Map 字段是(相当深)嵌套的。要更新嵌套字段,您可以像这样使用点符号:

applicationIdRef.update("Map1.Map2.Map3.Status",true)

另请参阅 updating nested fields

上的 Firebase 文档

但即便如此,由于值在数组中,因此无法通过索引更新数组中的单个项目。所以 Map1.Map2.Map3.0.Status 不会起作用。您将需要:

  1. 在您的应用程序代码中从数据库中读取文档。
  2. 更新嵌套字段中数组中的项目。
  3. 将整个数组写回数据库。

这个 updating a single item in an array 之前已经被广泛讨论过,所以我建议也查看其中的一些答案。