首页 文章

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

提问于
浏览
2

我正在使用angularfire2使用离子测试新的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执行相同的操作,则对象中没有 $keypath ,只是我创建的数据 .

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

1 回答

  • 4

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

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

相关问题