如何获取文档路径以便 delete/edit Firestore 中的文档?
How get document path in order to delete/edit a document in firestore?
我正在使用 angularfire2 测试新的 ionic firestore,我能够按照文档列出和创建集合和文档。
这些是我用来列出文档集合的 ts and html 文件。
根据 github 中的文档,我可以在 AngularFirestoreDocument
中使用 delete() 和 update() 方法,但是因为我有一个文档集合,所以我需要文档路径来执行类似这个 this.chemicalsCollection.doc('path/1).delete()
或 this.chemicalsCollection.doc('path/1).update()
.
在过去(上周)我可以做这样的事情:
constructor(database: AngularFireDatabase) {
this.itemsRef$ = this.database.list('items');
}
deleteItem(item) {
this.itemsRef$.remove(item.$key)
}
并在 html *ngFor="let item of chemicalsRef$ | async" (click)="deleteItem(item)"
中循环 itemsRef$
。索引 $key
来自 firebase 数据库,但如果我对 firestore 执行相同操作,则对象中没有 $key
或 path
,只有我创建的数据。
我错过了什么?如何获取文档的路径?
有多种方法可以从集合中流式传输数据。我猜你正在使用 .ValueChanges()
其中 returns 一个包含 JSON 对象数据的 Observable。
您需要使用的是 .snapshotChanges()
它 returns 一个包含更多信息的数组。然后您可以使用映射运算符从数组中获取数据和对象 ID。
snapshotChanges() 下的文档中显示了一个示例:
AngularFire GitHub Doc
我正在使用 angularfire2 测试新的 ionic firestore,我能够按照文档列出和创建集合和文档。
这些是我用来列出文档集合的 ts and html 文件。
根据 github 中的文档,我可以在 AngularFirestoreDocument
中使用 delete() 和 update() 方法,但是因为我有一个文档集合,所以我需要文档路径来执行类似这个 this.chemicalsCollection.doc('path/1).delete()
或 this.chemicalsCollection.doc('path/1).update()
.
在过去(上周)我可以做这样的事情:
constructor(database: AngularFireDatabase) {
this.itemsRef$ = this.database.list('items');
}
deleteItem(item) {
this.itemsRef$.remove(item.$key)
}
并在 html *ngFor="let item of chemicalsRef$ | async" (click)="deleteItem(item)"
中循环 itemsRef$
。索引 $key
来自 firebase 数据库,但如果我对 firestore 执行相同操作,则对象中没有 $key
或 path
,只有我创建的数据。
我错过了什么?如何获取文档的路径?
有多种方法可以从集合中流式传输数据。我猜你正在使用 .ValueChanges()
其中 returns 一个包含 JSON 对象数据的 Observable。
您需要使用的是 .snapshotChanges()
它 returns 一个包含更多信息的数组。然后您可以使用映射运算符从数组中获取数据和对象 ID。
snapshotChanges() 下的文档中显示了一个示例: AngularFire GitHub Doc