如何仅从Firestore获取更新的文档

时间:2018-08-21 01:20:47

标签: angular google-cloud-firestore angularfire2

使用valueChanges时是否可以从Firestore中仅获取更新的文档,而不是所有文档中

return this.afs.collection('users').doc(userId).collection('chat_users').valueChanges();

我有以下代码,当只有一个更改时,它将返回所有文档。

1 个答案:

答案 0 :(得分:0)

您可以为此使用stateChanges()

  

这是什么?-以DocumentChangeAction []的形式返回最新的Observable。

     

您为什么要使用它?-上面的方法返回按查询顺序排序的同步数组。 stateChanges()会在发生更改时发出更改,而不是同步查询顺序。 ...

return this.afs.collection('users')
    .doc(userId)
    .collection('chat_users')
    .stateChanges(['modified'])
    .pipe(
        map((actions) => actions.map(a => {
            const data = a.payload.doc.data();
            const id = a.payload.doc.id;
            return { id, ...data };
        }))
    );