有个功能,经常要根据工厂id查询数据,请问下面哪种设计比较合理?
还是说,效率都一样?
方案1:
{
{
"_id" : 1,
"product" : "产品1",
"price" : 5.5,
"quantity" : NumberInt(5),
"factory":"工厂1"
},
{
"_id" : 2,
"product" : "产品2",
"price" : 5.5,
"quantity" : NumberInt(5),
"factory":"工厂1"
},
.....
.....
}
方案2:
{
"factory":"工厂1",
"list":[
{
"_id" : 1,
"product" : "产品1",
"price" : 5.5,
"quantity" : NumberInt(5),
},
{
"_id" : 2,
"product" : "产品2",
"price" : 5.5,
"quantity" : NumberInt(5),
},
....
....
]
}
除非 list 元素是固定的,内容相对固定。否则必然选择1。
第二种 update/delete 都不方便,其次是 mongodb 一个 document 的大小限制只有
16MB
,当你的元素足够多超出限制。这种设计实现业务都成问题。https://docs.mongodb.com/manu...