什么是firestore中的snapshotchanges

Jen*_*ica 7 firebase angularfire2 angular google-cloud-firestore

这个函数由构造函数调用.有人可以向我深入解释它的作用吗?

  initializeItems(){
this.travelList$ = this.plsdala.getTravelList()
.snapshotChanges()
.map(
  changes => {
    return changes.map(c=>({
      key: c.payload.key, ...c.payload.val()
    })).slice().reverse();

   //to reverse order
  });

}
Run Code Online (Sandbox Code Playgroud)

Rob*_*yer 13

是火灾收集的现状.它返回一个Observable数据.您可以在希望能够将元数据作为documentID获取时使用它,而不是使用例如valueChanges(),它返回仅包含保存在文档中的数据的Observable.它不包含元数据.

这意味着您通常会在需要元数据时使用valueChanges()来获取数据和snapshotChanges(),例如.删除或更新文件.

您的代码基本上获取文档的数据和元数据,并从中提取数据.然后它将数据反转为从集合的结尾到开头.

  • 如果有人感兴趣,这里有一个[文档](https://github.com/angular/angularfire/blob/master/docs/firestore/documents.md)的链接。有一节讨论了 `snapshotChanges()` 和 `valueChanges()`。 (2认同)