【问题标题】:mongodb - modeling 2 documents with relationshipmongodb - 对 2 个具有关系的文档进行建模
【发布时间】:2017-07-03 06:40:14
【问题描述】:

我正在为我的文档建模,但现在遇到了问题:

在我的应用中,用户有一个他们可以接受的报价列表。所以我有两个文件,“用户”和“报价”。我想向我的用户展示他们在何时接受了哪些提议。但是合作伙伴(插入优惠的人)也应该查看哪个用户在什么时间接受了哪个优惠。

我的第一个想法是使用两个文档中的嵌入数据:

用户:

 offers: {
    accepted: [{
      offer: {
        type: Schema.Types.ObjectId,
        ref: 'Offer'
      },
      time: { type: Date, default: Date.now() }
    }]
  }

优惠:

 costumer: {
    accepted: [{
        user: {
            type: Schema.Types.ObjectId,
            ref: 'User'
        },
        time: { type: Date, default: Date.now() }
    }]
 }

专业版: 查询方便

缺点: 重复数据

-

我的另一个想法是为此创建一个新文档:

AcceptedOffers:

offer: {
        type: Schema.Types.ObjectId,
        ref: 'Offer'
      },
user: {
        type: Schema.Types.ObjectId,
        ref: 'User'
      },
time: { type: Date, default: Date.now() }

哪种解决方案会更好,或者也许有更好的方法?

谢谢

【问题讨论】:

    标签: mongodb mongoose nosql


    【解决方案1】:

    我的建议是在两个文档中嵌入数据。

    在 MongoDB 中,数据模式应该基于应用程序的需求。重复数据不像关系数据库那样严重。在这种情况下,用户文档旨在为用户提供应用程序,而报价文档旨在为合作伙伴提供应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-26
      • 2014-12-24
      • 2010-10-12
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 1970-01-01
      相关资源
      最近更新 更多