Firestore文档的子事件侦听器和多个用户一次写入文档?

问题描述:

是否有任何方法来实现Firestore文档的ChildEventListener(即,当字段被添加/移除到文档中时,必须触发只能获取添加/删除字段的快照的侦听器)。最好是,它必须具有类似于Firebase实时数据库的OnChildAdded,OnChildChanged和OnChildDeleted功能。Firestore文档的子事件侦听器和多个用户一次写入文档?

另外,有没有办法让多个用户一次操作一个Firestore文档而不会发生冲突? (例如,用户1,2和3同时将他们的姓名添加到同一文档)。你能在Android中提供这个实现吗?

在Cloud Firestore中,文档的字段不像处理实时数据库路径时那样被认为是文档的“孩子”,因此无法完全按照您的要求进行操作。

你可以听上一个文件的实时变化虽然和实施版本比较自己,找出哪些领域改变:

final DocumentReference docRef = db.collection("cities").document("SF"); 
docRef.addSnapshotListener(new EventListener<DocumentSnapshot>() { 
    @Override 
    public void onEvent(@Nullable DocumentSnapshot snapshot, 
         @Nullable FirebaseFirestoreException e) { 
     if (e != null) { 
      Log.w(TAG, "Listen failed.", e); 
      return; 
     } 

     // ... calculate which fields changed ... 
    } 

}); 
+0

我是知道的。我想知道任何更简单的方法来实现一个孩子监听器。另外,有没有办法让多个人同时在文档上写数据?不会有冲突吗? – Thanatos

+0

不,在Android SDK> –

+0

中,无法在文档的字段上实现子事件侦听器。至于冲突,Firestore使用“最后写赢”模型。如果你想确保数据的完整性,你可以使用事务。 –