我是 mongo db 数据库设计的新手,我目前正在设计一个餐厅产品系统,我的设计类似于简单的电子商务数据库设计,其中每个产品类别都有产品,因此在关系数据库系统中,这将是一个(产品类别)到许多产品。我做了一些研究,我确实在文档数据库中了解了这一点。非国家化是可以接受的,它可以加快数据库读取速度。因此在基于 nosql 文档的数据库中我可以这样设计我的模型
//product
{
name:'xxxx',
price:xxxxx,
productcategory:
{
productcategoryName:'xxxxx'
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我们为什么不将产品嵌入到productcategory中,而不是将类别嵌入到每个产品中,那么一旦我们查询类别,我们就可以拥有所有产品,从而产生这个模型。
//ProductCategory
{
name:'categoryName',
//array or products
products:[
{
name:'xxxx',
price:xxxxx
},
{
name:'xxxx',
price:xxxxx
}
]
}
Run Code Online (Sandbox Code Playgroud)
我在此页面http://www.slideshare.net/VishwasBhagath/product-catalog-using-mongodb和这里http://www.stackoverflow.com/questions/20090643/product-category-management-研究了这个问题in-mongodb-and-mysql 我发现这两个例子都使用我描述的第一个模型(即它们将productCategory嵌入到product中,而不是在productCategory中嵌入产品数组),我不明白为什么,请解释一下。谢谢