问题描述
限时送ChatGPT账号..我的 Firebase Firestore 数据库是这样的:
My Firebase Firestore database is like this:
Collection:orders
DocumentID: (autogenerated)
Document: orderName: string
变量声明如下:
orderCollection: AngularFirestoreCollection<Order>
orders: Observable<Order[]>
我收到所有这样的订单":
I am getting all 'orders' like this:
orderCollection = this.afs.collection('orders');
orders = this.orderCollection.valueChanges();
然后我会像这样打印订单:
I am then printing the orders like this:
<tr *ngFor="let o of orders | async">
<td>{{o.orderName}}</td>
<td><a (click)="editOrder(o.$key)">Edit</a></td>
</tr>
我一切正常,直到编辑部分.
I everything is working perfect up to the edit part.
对于如何发回订单的文档 ID?我想发回订单文档 ID,以便我可以对其进行编辑.使用实时数据库,您可以使用 $key 执行某些操作,但不能使用 Firestore.建议?
For edit: how to I send back the document ID of the order? I want to send the order document ID back so I can then edit it. With the realtime database you could do something with $key, but not with the firestore. Suggestions?
推荐答案
在 AngularFirestore 中,它只是 document.id
.但要使其正常工作,您必须使用 snapshotChanges
而不是 valueChanges
.所以:
In AngularFirestore it is simply document.id
. But for this to work you must use snapshotChanges
instead of valueChanges
. So:
orders = this.orderCollection.snapshotChanges();
然后:
<tr *ngFor="let o of orders | async">
<td>{{o.data().orderName}}</td>
<td><a (click)="editOrder(o.id)">Edit</a></td>
</tr>
灵感来自:Firestore 从集合中获取文档 ID 和 获取包含文档 ID 的集合一>.
这篇关于Angular Firebase Firestore 获取文档 ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论