首页 > 解决方案 > 如何处理 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 份番茄意大利面。由于到期日,我必须在单独的文件中处理这些股票。

在库存集合中,存储每种成分的每个收到的库存,以及收到的数量和有效期。

如果有人订购,它将存储在订单集合中的数据库中,以及使用了多少成分。

问题是这应该如何反映在股票中?

我有两个想法。

  1. 在每个库存中有一个称为实际数量的字段,并从中扣除使用的成分。这样做的好处是速度快,文件本身就反映了实际金额。但是,不确定像这样操作数据是否是一种好习惯。

  2. 在每个订单中,不仅要存储使用了多少成分,还要存储来自哪个库存。这样做的好处是数据是干净的,一旦库存和订单都创建了,就不会再碰了,不会有任何冲突。但是,要获得剩余的库存量,需要进行非常昂贵的计算。从特定库存中获取所有使用成分的订单,并将它们的数量相加,然后从收到的数量中扣除。

我的想法是正确的,还是有更有效的方法来处理这种情况?

标签: databasemongodbdata-structuresnosql

解决方案


推荐阅读