1

如何将状态更新为 true:

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); 
  } 
});

我是通过这种方法做的,但我不知道如何去到 status field 。

4

1 回答 1

1

Map字段是(相当深的)嵌套的。要更新嵌套字段,您可以使用如下点表示法:

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

另请参阅有关更新嵌套字段的 Firebase 文档

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

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

这种更新数组中的单个项目之前已被广泛讨论过,因此我建议您也查看其中的一些答案。

于 2021-06-08T14:05:17.380 回答