【发布时间】: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() }
哪种解决方案会更好,或者也许有更好的方法?
谢谢
【问题讨论】: