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

IT技术 javascript reactjs firebase react-native google-cloud-firestore
2021-04-28 20:03:59

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

  updateUsersListOnChange = loadUsersCallback => {
    return firebase
      .firestore()
      .collection("messages")
      .doc(/* all docs */)
      .collection("chats")
      .onSnapshot(() => {
        loadUsersCallback();
      });
  };
1个回答

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

db.collectionGroup("chats").onSnapshot(() => {
    loadUsersCallback();
});

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

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