我正在管理一个建筑产品商店的MongoDB数据库。最紧急的集合是产品,对吧? 有相当多的产品,但它们都属于5-8个类别中的一个,然后属于一组小的子类别中的一个。
例如:
-Electrical
*Wires
p1
p2
..
*Tools
p5
pn
..
*Sockets
p11
p23
..
-Plumber
*Pipes
..
*Tools
..
PVC
..
我将在网站客户端使用Angular来展示整个产品目录,我考虑使用AJAX查询我想要的正确子集产品。
然后,我想知道是否应该管理一个唯一的集合,例如:
{
MainCategory1: {
SubCategory1: {
{},{},{},{},{},{},{}
}
SubCategory2: {
{},{},{},{},{},{},{}
}
SubCategoryn: {
{},{},{},{},{},{},{}
}
},
MainCategory2: {
SubCategory1: {
{},{},{},{},{},{},{}
}
SubCategory2: {
{},{},{},{},{},{},{}
}
SubCategoryn: {
{},{},{},{},{},{},{}
}
},
MainCategoryn: {
SubCategory1: {
{},{},{},{},{},{},{}
}
SubCategory2: {
{},{},{},{},{},{},{}
}
SubCategoryn: {
{},{},{},{},{},{},{}
}
}
}
或者每个类别一个集合。文档数量可能不超过500。然而,我关心的是:
- 快速的数据库响应,
- 易于服务器端数据库查询,以及
- 客户端Angular代码用于呈现结果到html。
我现在使用 mongodb node.js模块,而不是Mongoose。
我会执行哪些CRUD操作?
插入产品,我还想有一种方法来获取每个新注册的自动生成的id(可能是连续的)。但是,正如它可能看起来自然的那样,我不会向用户提供_id。
查询子类别的整个文档集。可能首先只获取一些属性。
查询特定文档(产品)的整个或特定的子集属性。
修改产品的属性值。