答案 0 :(得分:0)
Cloud Firestore中没有多值字段的概念。如果要在单个字段中存储多个值,则必须自己编写编码/解码。
这意味着您首先需要获取字段的当前值,将新订单附加到该字段,然后将结果写回数据库。为此,您需要use a transaction()
,以确保多个用户不会覆盖彼此的更改。
答案 1 :(得分:0)
您可以创建一个名为' Orders'的字段。这是一个基本的订单号数组,然后在获取doc()并解析数据时获取数组。
作为一个例子,我会像这样存储订单:
[
{ type: 'Order Type 1', number: 1.234 },
{ type: 'Order Type 2', number: 6.745 },
{ type: 'Order Type 3', number: 1.345 },
{ type: 'Order Type 1', number: 4.556 }
]
使用Firestore还可以在标记为orders的文档中嵌套另一个集合。然后,当您调用此集合时,您将使用snapshotchanges()并映射数据并在单个Firestore调用中获取嵌套的observable。这样,订单有自己的订阅,以防它们被特别更改,并且原始文档的任何内容都没有改变。如果您需要一些如何实现此目的的示例,请告诉我们。