如何在Firestore中监听子集合中所有文档的更改?

时间:2019-11-21 11:13:40

标签: javascript reactjs firebase react-native google-cloud-firestore

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

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

1 个答案:

答案 0 :(得分:1)

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

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

这将在整个数据库中加载名为chats的所有集合中的文档。无法指示路径,因此,您需要确保您的收藏名称足够独特,以使您可以仅通过其名称来识别权利。

有关更多信息,请参见collection group queries上的文档。