我必须将订单项存储在数据库中。
当前,我正在创建其中的一批并将其存储为单个文档。
date: null,
items: [
{ name: 'Bla', cost: 5, ref: 'user id' },
{ name: 'Bla', cost: 5, ref: 'user id' },
]
但是我有一种直觉,因为它是一个对象数组,因此会更加昂贵(性能和处理)。 ($ unwind,$ project)。
如果我将每个订单项都存储为文档,那会很好吗?
到目前为止,我还没有这样做的原因是我们可能在1-3年内拥有大约10亿个文档。
再说一遍,如何为每个订单项生成唯一的ID?我知道Mongo会生成_id,但是我的意思是可以在发票中显示的数字0、1、2等。
因此,我不确定MongoDB是否可以有效地处理它。
最好, 法赫姆
编辑:
这些是我认为此问题与建议的重复项不重复的原因。
这些问题是关于ref与嵌入文档的问题。我不是。
问题是,以批处理(对象数组)或单个文档存储内联项的最佳方法(就性能和低延迟而言)是什么?我不在乎引用或此处的任何内容。