在Firestore子集合上添加实时侦听器

时间:2020-09-02 03:53:27

标签: javascript firebase google-cloud-firestore

是否可以在Firestore中的子集合上使用实时侦听器?我有一个称为会议的子集合,当我添加新文档时,不会触发侦听器。以下是我的代码示例。 我该怎么办?我知道我可以使用顶级集合进行会议,但就我而言,我希望事情在某些部分成为子集合。

export const getMeetings = (projectId) => {
  const meetingsCollection = firestore.collection('projects-meetings')
  return (dispatch) => {
    meetingsCollection.doc(projectId).collection('meetings').onSnapshot((querySnapShot) => {
      const array = [];
      querySnapShot.forEach(doc => {
        const meeting = { ...doc.data() }
        array.push(meeting)
      })
      dispatch({ type: meetingsActions.GET_MEETINGS_SUCCESS, payload: array });
    }, (err => {
      dispatch({ type: meetingsActions.GET_MEETINGS_ERROR }, err);
    })
    );
  }
};

1 个答案:

答案 0 :(得分:0)

所以想通了。问题在于使用Redux-Persist。我不知道为什么,但是在Firestore中发生更改时,它没有获取数据。当我禁用redux持久时,它工作正常。但是我真的很想使用redux-persist,我不知道启用Firebase本地持久性是否有必要。