Database 如何正确设计数据库,一个对象与多个对象之间的关系

Database 如何正确设计数据库,一个对象与多个对象之间的关系,database,mongodb,mongoose,Database,Mongodb,Mongoose,我正在做一个很大程度上依赖于数据库的项目,到目前为止,我已经做了几个项目,但大多数项目几乎没有任何重要的数据库需求,这需要我投入重要的思考,但时间已经到了。我对数据库了解不多,也不是在找人代替我来做,但我只是在寻找一些指针,以及学习/阅读哪些内容,以找出如何处理这种情况 该应用程序将要做的是跟踪一家公司的库存(库存)中与其生产的产品相关的物品。我必须能够提取各种类型的信息,无论是它的所有发票,还是与给定产品相关的所有发票,或者与给定产品相关的所有项目,或者所有产品的所有项目,等等,你明白了 我目

我正在做一个很大程度上依赖于数据库的项目,到目前为止,我已经做了几个项目,但大多数项目几乎没有任何重要的数据库需求,这需要我投入重要的思考,但时间已经到了。我对数据库了解不多,也不是在找人代替我来做,但我只是在寻找一些指针,以及学习/阅读哪些内容,以找出如何处理这种情况

该应用程序将要做的是跟踪一家公司的库存(库存)中与其生产的产品相关的物品。我必须能够提取各种类型的信息,无论是它的所有发票,还是与给定产品相关的所有发票,或者与给定产品相关的所有项目,或者所有产品的所有项目,等等,你明白了

我目前的基本结构如下所示:

const inventory = {
  products: [
    {
      title: "",
      production: {
        finalized: 0,
        inProduction: 0,
      },
      items: [
        {
          title: "",
          price: {
            per: 0,
            total: 0,
          },
          quantity: {
            current: 0,
            type: "",
          },
          operations: {
            added: [
              {
                date: new Date(),
                quantity: 0,
                invoice: {
                  number: "",
                  supplier: "",
                },
              },
            ],
            removed: [
              {
                date: new Date(),
                quantity: 0,
                expenseId: "",
              },
            ],
          },
        },
      ],
    },
  ],
};
它一点也不复杂,一系列的产品和关于这些产品的信息。数量、添加新数量时、获取数量时,等等

问题是,对于整个库存,我是否只使用一个模型,我猜这会起作用,但可能不是最优的

我想到的另一种方法是为物品、发票、产品等建立模型,然后用一些逻辑将库存中的所有内容联系起来,从而得到我上面提到的结构。性能方面可能会更好,因为如果我想拉取所有发票,我只需要拉取发票模型,而不是整个库存,并通过它循环找到我的发票

我还有其他选择吗

我忘了补充我将使用Mongoose、Express、React和Node