如何获取文档路径以便在firestore中删除/编辑文档?

时间:2017-10-06 03:37:47

标签: firebase angularfire2 google-cloud-firestore

我使用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,只是我创建的数据。

我错过了什么?我如何获得文档的路径?

1 个答案:

答案 0 :(得分:4)

有多种方法可以从集合中传输数据。我猜您正在使用.ValueChanges()返回包含JSON对象数据的Observable。 您需要使用的是.snapshotChanges()它返回一个包含更多信息的数组。然后,您可以使用map运算符从数组中获取数据和对象Id。

示例显示在snapshotChanges()下的文档中: AngularFire GitHub Doc