var catList = [
{
cat_name : 'sport',
cat_desc : '第一个顶级分类.',
sub_cat: [
{
cat_name : 'sport_bag',
cat_desc : 'sport的二级子分类.',
},{
cat_name : 'sport_apparel',
cat_desc : 'sport的二级子分类.',
sub_cat: [
{
cat_name : 'sport_apparel_men',
cat_desc : 'sport的三级子分类.'
},{
cat_name : 'sport_apparel_women',
cat_desc : 'sport的三级子分类.'
}
]
}
]
},{
cat_name : 'stationery',
cat_desc : '第二个顶级分类.',
sub_cat: [
{
cat_name : 'stationery_bag',
cat_desc : 'stationery的二级子分类.',
},{
cat_name : 'stationery_apparel',
cat_desc : 'stationery的二级子分类.',
sub_cat: [
{
cat_name : 'stationery_apparel_men',
cat_desc : 'sport的三级子分类.'
}
]
}
]
}
]
如上,这是mongodb 一个集合文档,存储的商品三级分类. 为了发挥mongodb的优势和查询方便,采用这种嵌入式。但是有些蛋疼的问题。 1:对里层数组做增删改的时候无法精确定位。如果再增加四级,五级。那更蛋疼。 2:如果结合商品表查询也不是很爽,每个商品有一个字段是商品分类名。比如:查询sport分类下的所有商品,那就要将sport分类下的数组一层一层循环得到所有分类。这样好像不是很爽。 那最后一个疑问:像这种商品分类和商品表,用mongodb数据库应该怎么样设计才是最后理的????有类似的例子看吗?求指教!