Angular Firebase Firestore 获取文档 ID

编程入门 行业动态 更新时间:2024-10-28 18:32:48
本文介绍了Angular Firebase Firestore 获取文档 ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送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:关键词]

本文发布于:2023-04-22 10:18:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1021927.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文档   Firebase   Angular   ID   Firestore

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!