我需要帮助决定哪种模式类型更适合我的mongodb集合。
假设我想存储一个人拥有的物品清单。人数相对较少,但一个人可能拥有非常多的物品。假设人数在几百人左右,但一个人所拥有的物品数量在几十万个左右。
我可以想到两个选项:
选项1:
选项2:
有人能告诉我哪种方式更适合吗?还是我理解有误,有更好的解决方案?
假设我想存储一个人拥有的物品清单。人数相对较少,但一个人可能拥有非常多的物品。假设人数在几百人左右,但一个人所拥有的物品数量在几十万个左右。
我可以想到两个选项:
选项1:
[{
id: 1,
name: "Tom",
things: [
{
name: 'red tie',
weight: 0.3,
value: 5
},
{
name: 'carpet',
weight: 15,
value: 700
} //... and 300'000 other things
]
},
{
id: 2,
name: "Rob",
things: [
{
name: 'can of olives',
weight: 0.4,
value: 2
},
{
name: 'Porsche',
weight: 1500,
value: 40000
}// and 170'000 other things
]
}//and 214 oher people]
]
选项2:
[
{
name: 'red tie',
weight: 0.3,
value: 5,
owner: {
name: 'Tom',
id: 1
}
},
{
name: 'carpet',
weight: 15,
value: 700,
owner: {
name: 'Tom',
id: 1
}
},
{
name: 'can of olives',
weight: 0.4,
value: 2,
owner: {
name: 'Rob',
id: 2
}
},
{
name: 'Porsche',
weight: 1500,
value: 40000,
owner: {
name: 'Rob',
id: 2
}
}// and 20'000'000 other things
];
- 我只会在一次请求中向一个所有者要求物品,从不向多个所有者要求物品。
- 返回的物品列表将需要分页,所以...
- ...物品将需要根据其中一个参数进行排序
有人能告诉我哪种方式更适合吗?还是我理解有误,有更好的解决方案?