在文档中,我们看到了。
stateChanges()
是什么? -返回最近的Observable 更改为DocumentChangeAction []。
收听流中的最新更改。该方法返回 发生更改时,不会按查询顺序排序。 这使您可以构建自己的数据结构。
现实
this._store
.collection(entity.path)
.stateChanges().pipe(
tap(x=>console.log(x))
).subscribe();
控制台说:
0: {type: "added", payload: {…}}
1: {type: "added", payload: {…}}
2: {type: "added", payload: {…}}
3: {type: "added", payload: {…}}
4: {type: "added", payload: {…}}
...
我们看到所有历史记录中的所有更改均已记录。
从我开始观察的那一刻起,有没有办法观察到变化?
是错误还是预期的行为?
答案 0 :(得分:1)
这按预期工作。您的代码正在查询entity.path
所标识的集合中的每个文档,因此可以期望在初始结果集中收到每个文档。如果您不希望集合中的所有文档,则需要使用一个“ where”子句过滤器来标识您想要的文档。如果您的兴趣是基于查询的时间,请考虑在每个文档中添加一个时间戳字段,以便可以在过滤器中使用该字段,该过滤器将仅向您提供在当前时间之后出现的文档。