如何侦听 firestore 子集合中所有文档的更改?

CLU*_*HER 0 javascript firebase reactjs react-native google-cloud-firestore

我想监听集合chats中所有文档的集合更改messages,但找不到允许这样做的方法。

  updateUsersListOnChange = loadUsersCallback => {
    return firebase
      .firestore()
      .collection("messages")
      .doc(/* all docs */)
      .collection("chats")
      .onSnapshot(() => {
        loadUsersCallback();
      });
  };
Run Code Online (Sandbox Code Playgroud)

Fra*_*len 6

您所描述的称为集合组查询,即跨一组集合的查询。

db.collectionGroup("chats").onSnapshot(() => {
    loadUsersCallback();
});
Run Code Online (Sandbox Code Playgroud)

chats这将从整个数据库中命名的所有集合中加载文档。无法指示路径,因此您需要确保您的集合名称足够唯一,以便您可以仅通过名称来识别正确的集合。

有关这方面的更多信息,请参阅有关集合组查询的文档。