指向 Firebase Cloud 中的另一个文档

问题描述 投票:0回答:1

我正在创建购物车网站。在那里,我希望拥有多种不同的产品,用户可以选择这些产品并将其添加到购物车中。对于数据库,我想使用 Firebase。在 Firebase Cloud 中,我创建了“产品”集合。问题是当我为“购物车”创建集合时,因为我不知道如何从“产品”访问一个文档。

产品型号

export class Product {
    constructor(
        public id: number,
        public imgSrc: string,
        public name: string,
        public price: number,
        public category: string,
        public description: string
    ){}
}

推车型号

export class Cart{
    constructor(
        public id: number,
        public product: Product,
        public quantity: number
    ){}
}

我虽然应该添加引用文档路径的“购物车”字段,但是,当我将其记录到控制台中时,我没有从该产品中获取值(我得到“DocumentReference”)。

Firebase 云

carts    ----------- someid2 ---------- product: (reference) 
                                            products/someid 
                             ---------- quantity: 11 
products ----------- someid  ---------- category: ...
                             ---------- description: ... 
                             ---------- imgSrc: ... 
                             ---------- name: ... 

myArray2:任意[] = []

  getData2() {
    const db = this.angularFirestore.collection('cart').get().subscribe((ss) => {
      ss.docs.forEach((doc) => {
        this.myArray2.push(doc.data())
      })
    })
    return this.myArray2
  }

控制台(myArray2):

 []
   0:
      product: DocumentReference
      quantity: 11

我猜测与创建包含一些“用户”的“帖子”类似,但也找不到合适的示例。该项目是使用 Angular 完成的。

angular firebase google-cloud-firestore nosql
1个回答
0
投票

Firestore

DocumentReference
字段不会自动从引用的文档中检索值。要获取这些值,您需要对引用的文档执行额外的 API 调用。
    

© www.soinside.com 2019 - 2024. All rights reserved.