如何从 snapshotChanges() 或 valueChanges() 中获取添加的对象?
Posted
技术标签:
【中文标题】如何从 snapshotChanges() 或 valueChanges() 中获取添加的对象?【英文标题】:How to get the added object from snapshotChanges() or valueChanges()? 【发布时间】:2018-09-26 08:06:34 【问题描述】:我正在尝试根据读取的当前 snapshotChanges 中添加的项目触发本地通知,但我不想要整个对象数组,我只想要最新添加的对象。
constructor( public afs: AngularFirestore )
// Monitor all activities
this.itemsCollection = this.afs.collection<any>('activity', x => x.orderBy('saved', 'desc'));
this.items$ = this.itemsCollection.snapshotChanges().map(actions =>
return actions.map(action =>
const data = action.payload.doc.data();
const id = action.payload.doc.id;
return id, ...data ;
);
);
我希望每次添加新项目时我都能采取行动,仅针对特定的新项目。
【问题讨论】:
【参考方案1】:我用以下方法解决了它:
// Listen to the observable for changes, take the first item of that array.
this.items$.subscribe(data =>
console.log(data[0]);
);
【讨论】:
以上是关于如何从 snapshotChanges() 或 valueChanges() 中获取添加的对象?的主要内容,如果未能解决你的问题,请参考以下文章
AngularFire firestore get / snapshotchanges / valuechanges 对 observable 的操作不是异步的吗?
更新 .snapshotChanges() 代码以使用 angularfire2 5.0..0 rc-8、firebase 5.0.2
angularfire2@5.0.0-rc.10 .snapshotChanges() 不能让你得到 doc.payload.doc.data()