我使用angularfire2使用离子测试新的firestore,并且我能够在文档后列出并创建集合和文档。
这些是我用来列出文档集合的ts and html文件。
根据github中的文档,我可以使用AngularFirestoreDocument
中的delete()和update()方法,但由于我有一组文档,我需要文档路径来做这样的事情{ {1}}或this.chemicalsCollection.doc('path/1).delete()
。
在过去(上周),我可以做这样的事情:
this.chemicalsCollection.doc('path/1).update()
并在html constructor(database: AngularFireDatabase) {
this.itemsRef$ = this.database.list('items');
}
deleteItem(item) {
this.itemsRef$.remove(item.$key)
}
中循环itemsRef$
。索引*ngFor="let item of chemicalsRef$ | async" (click)="deleteItem(item)"
来自firebase数据库,但如果我对firestore执行相同的操作,那么对象中没有$key
或$key
,只是我创建的数据。
我错过了什么?我如何获得文档的路径?
答案 0 :(得分:4)
有多种方法可以从集合中传输数据。我猜您正在使用.ValueChanges()
返回包含JSON对象数据的Observable。
您需要使用的是.snapshotChanges()
它返回一个包含更多信息的数组。然后,您可以使用map运算符从数组中获取数据和对象Id。
示例显示在snapshotChanges()下的文档中: AngularFire GitHub Doc