为少数列表中的项目设计MongoDB模式
我是MongoDB的新手,我想为电子商务网站设计模式。 我只问一个例子,我希望它能帮助我的整个设计 要求:为少数列表中的项目设计MongoDB模式,mongodb,Mongodb,我是MongoDB的新手,我想为电子商务网站设计模式。 我只问一个例子,我希望它能帮助我的整个设计 要求: 项目至少包含名称和价格 购物车是用户选择的项目列表 愿望列表是用户选择的项目列表 如果管理员编辑一个项目,它应该会影响购物车和愿望清单 我考虑了一些选择: 购物车和愿望列表中的项目id数组 带有嵌入式项目的购物车和带有嵌入式项目的愿望列表 利与弊是什么? 还有其他的设计方法吗 任何例子都会有帮助,谢谢 //item { _id : Number, name : Stri
- 项目至少包含名称和价格
- 购物车是用户选择的项目列表
- 愿望列表是用户选择的项目列表李>
- 如果管理员编辑一个项目,它应该会影响购物车和愿望清单
//item
{
_id : Number,
name : String,
price : Number
}
//user
{
_id : Number,
name : String,
profile : {
location : String,
age : Number,
created_at : Date,
/*something something something*/
},
wishlist : {
item_id : [Number] // store item's _ids
}
}
我不认为使用数据库存储购物车数据是常见的方法。
通常您可以使用session/get/post/cookie来代替因此,据我所知,您可能需要这样的东西:
用户:{cart:[{itemID:someID,price:price}],愿望列表:[{itemID:someID}]
-对于用户文档,项目文档将有它的项目集合。然后将项目引用存储在用户文档中。@tymeJV在这种情况下,当项目价格更改时会发生什么?如果项目价格更改,则在项目文档中更改,用户文档将只存储引用。我只包含 price
作为一个例子(显然是一个糟糕的例子),Maker
可能是一个更好的选择。问题是,您存储了对其他文档的引用,例如:)