firebase - 如何获取文档路径以删除/编辑 firestore 中的文档?

标签 firebase angularfire2 google-cloud-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 做同样的事情,对象中就没有 $keypath,只有我创建的数据。

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

最佳答案

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

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

关于firebase - 如何获取文档路径以删除/编辑 firestore 中的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46597899/

相关文章:

ios - 重新发送 Firebase 电子邮件验证

Angular RxJS - 取消订阅 mergeMap?

带有 Firestore : delete specific fields from a document 的 Angularfire2

typescript - 如何验证用户身份并保存其详细信息

android - 如何从 Firestore 任务中获取响应代码

swift - 如何通过 Swift 执行一个函数直到 Firestore 完成下载数据?

java - 从数据库检索数据(firebase)

ios - 我将如何使用 Firebase 创建用户名?

android - 通过滑动删除 Firebase 对象

java - 将 firebase 添加到应用程序时出现 appcompat 依赖项错误