我正在创建购物车网站。在那里,我希望拥有多种不同的产品,用户可以选择这些产品并将其添加到购物车中。对于数据库,我想使用 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 完成的。
Firestore
DocumentReference
字段不会自动从引用的文档中检索值。要获取这些值,您需要对引用的文档执行额外的 API 调用。