我正在尝试创建一个将“预订”添加到firebase文档的功能。在下图中,可以看到预订/日期中已经有一个对象。我想再添加一个。
这将使它成为对象数组(?)
到目前为止,我的尝试只是覆盖其中的内容或创建一个带有预订名称的子集合
const bookingObj = {
...cartItems[1],
userId: userObject.uid,
carro: 'PASSA_CARRO',
cor: 'PASSAR_COR',
}
const businessRef = await approvedBusinessService.doc(businessId)
const bookingDateRef = await businessRef.collection('bookings').doc(currentDate) //currentDate: "15/06/2020"
try {
bookingDateRef.set(bookingObj) //will create a subcollection
} catch (error) {
console.error('error merging Business info')
}
以前,我有{ merge: true }
,但也表现得并不理想。
答案 0 :(得分:1)
“ bookings”不是集合,而是文档字段。因此,您无法使用public function getSumPriceAttribute()
{
$sumPrice = 0;
$prices = $this->where('Duration', '<=', $this->Duration)->get(); // I removed domain filter query here.
foreach($prices as $price)
{
$sumPrice += $price->totalPrice; // change $subPrice to $sumPrice
}
return $sumPrice;
}
来引用它。如果您有一个子集合,则它在控制台中的显示会非常不同。 (而且非常值得考虑使其成为子集合而不是字段),尤其是如果您可以在其下添加无边界的对象列表。)
如果要在预订下添加新的嵌套字段,则必须更新文档并调出嵌套字段的名称以使用点符号进行更新。
collection()