一个人如何在这个世界上捕捉到一个订单?订单是否只是 Orders 集合中的新文档?
是的。这就是这些数据库的工作方式。
order_item 是否会与另一个文档中列出的产品相关联?
它可能。取决于你在做什么。
还是假设 order_item 将被复制并插入到订单文档中
也是可以的。这适用于历史分析和数据仓库。
因此,也许很难报告一段时间内销售的产品总量?
总是很难报告一段时间内售出的总产品。
今天,产品“23SKIDOO”是一款 23l、开阀、带有双小部件的 framistat。
去年,在召回之前,同样的产品是一个 23 升的封闭阀 framstat,只有一个小部件。
在前一年,同样的产品实际上是 22.5 升。
这些是“相同”的产品吗?营销部门称它们为“23SKIDOO”。但也有区别。
单个产品表无法正确解决此问题。然后人们要做的是发明产品线和产品系列,以便他们可以推出“23SKIDOO-B”和“23SKIDOO-PLUS”产品,它们都是“23SKIDOO”系列的一部分。
产品线和产品系列以及其他更奇特的分组是变通方法和技巧,可以神奇地使不相关的产品一起报告并提供“随着时间的推移销售的总产品”,即使产品明显不同。
将产品复制到订单中(虽然看起来很浪费)可以比许多常用的解决方法保留更多的历史保真度。
如何解决缺乏交易并保持完整性?
MongoDB 有锁。 http://www.mongodb.org/display/DOCS/How+does+concurrency+work。
目前尚不清楚您所说的缺少交易是什么意思。