database - 如何处理 MongoDB 中的库存/库存数据?
问题描述
为了清楚起见,我说的是实物库存。
例如,我经营一家餐馆,并且有许多食材。现在,它是意大利面和西红柿(只是为了简单起见)。
products: [
{
_id: 'pasta'
},
{
_id: 'tomato'
},
{
_id: 'tomatoPasta',
requires: [
{
productId: 'tomato',
amount: 100,
unit: 'g'
},
{
productId: 'pasta',
amount: 100,
unit: 'g'
},
]
}
}
要知道我是否有足够的原料来制作番茄意大利面,我必须跟踪库存。
首先,情况是我在t天和t+5天收到了1000克番茄和意大利面。前5天我只卖了8个番茄意大利面,但由于趋势不可预测,为了安全我订购了更多的配料,然而我有足够的原料再做 2 份番茄意大利面。由于到期日,我必须在单独的文件中处理这些股票。
在库存集合中,存储每种成分的每个收到的库存,以及收到的数量和有效期。
如果有人订购,它将存储在订单集合中的数据库中,以及使用了多少成分。
问题是这应该如何反映在股票中?
我有两个想法。
在每个库存中有一个称为实际数量的字段,并从中扣除使用的成分。这样做的好处是速度快,文件本身就反映了实际金额。但是,不确定像这样操作数据是否是一种好习惯。
在每个订单中,不仅要存储使用了多少成分,还要存储来自哪个库存。这样做的好处是数据是干净的,一旦库存和订单都创建了,就不会再碰了,不会有任何冲突。但是,要获得剩余的库存量,需要进行非常昂贵的计算。从特定库存中获取所有使用成分的订单,并将它们的数量相加,然后从收到的数量中扣除。
我的想法是正确的,还是有更有效的方法来处理这种情况?
解决方案
推荐阅读
- android - Flutter-使用 Android XML 作为 Widget
- javascript - index.html 中声明的 Vue.js css 和 js 不起作用
- haskell - 试图用divide -Haskell找出错误信息
- encryption - 仅使用密钥和盐使用 OpenSSL 解密文本
- django - django.db.utils.ProgrammingError:类型“光栅”不存在
- php - 学说 BETWEEN CURRENT_TIMESTAMP
- c# - 对象中元素的最佳集合并对其执行操作
- c# - 找不到文件“C:\Program Files (x86)\IIS Express\GraceCancerFoundation.png”
- single-sign-on - Teradata Kerberos SSO - 在哪里放置 TeraJDBC.config 和 Java 属性文件?
- html - 定位元素