Mongodb Mongo和Meteor中嵌套类别的最佳实践
我想在Mongo和Meteor框架中处理多个广告的嵌套类别。例如:Mongodb Mongo和Meteor中嵌套类别的最佳实践,mongodb,meteor,database-design,mongodb-query,nosql,Mongodb,Meteor,Database Design,Mongodb Query,Nosql,我想在Mongo和Meteor框架中处理多个广告的嵌套类别。例如: MainCategory_1 > SubCategory_1.1 > SubCategory_1.1.1 > SubCategory_1.1.1.1 > { Ad_1 HERE } > SubCategory_1.2 > SubCategory_1.2.1 > SubCategory_1.3 MainCategory_2 &
MainCategory_1 > SubCategory_1.1 > SubCategory_1.1.1 > SubCategory_1.1.1.1 > { Ad_1 HERE }
> SubCategory_1.2 > SubCategory_1.2.1
> SubCategory_1.3
MainCategory_2 > SubCategory_2.1 > SubCategory_2.1.1 > SubCategory_2.1.1.1
> SubCategory_2.2 > SubCategory_2.2.1
> SubCategory_2.3
广告对象的类别字段如下:
MainCategory_1 > SubCategory_1.1 > SubCategory_1.1.1 > SubCategory_1.1.1.1 > { Ad_1 HERE }
> SubCategory_1.2 > SubCategory_1.2.1
> SubCategory_1.3
MainCategory_2 > SubCategory_2.1 > SubCategory_2.1.1 > SubCategory_2.1.1.1
> SubCategory_2.2 > SubCategory_2.2.1
> SubCategory_2.3
例如,Ad_1对象属于子类别_1.1.1
我还想通过如下查询访问Ad_1:
MainCategory_1 > SubCategory_1.1 > SubCategory_1.1.1 > SubCategory_1.1.1.1 > { Ad_1 HERE }
> SubCategory_1.2 > SubCategory_1.2.1
> SubCategory_1.3
MainCategory_2 > SubCategory_2.1 > SubCategory_2.1.1 > SubCategory_2.1.1.1
> SubCategory_2.2 > SubCategory_2.2.1
> SubCategory_2.3
所有主要类别1
所有子类别_1.1
所有子类别_1.1.1
所有子类别_1.1.1.1
和所有子类别3
我有两种方法:
cat\u id
,并在多个查询中合并结果您知道其他性能和简单性更好的方法吗???这在很大程度上取决于对象之间的关系(即关系两侧的对象数量比率和更新频率),因此它取决于您的应用程序和需求 MongoDB关于非规范化的博客是一个很好的参考资料(您可以将其视为“最佳实践”): 简而言之,因为这是一个广泛的主题: 我们讨论的是N-N关系,它取决于N的比率 如果对象是不可变的,建议将它们嵌套到另一个对象中,因为您不必处理更新,搜索也变得微不足道
如果对象不是不可变的,则必须将更新成本与通过集合搜索以查找ID的成本进行加权,然后通过其他集合搜索与该/那些ID关联的对象 这在很大程度上取决于对象之间的关系(即关系两侧的对象数量比率和更新频率),因此它取决于您的应用程序和需求 MongoDB关于非规范化的博客是一个很好的参考资料(您可以将其视为“最佳实践”): 简而言之,因为这是一个广泛的主题: 我们讨论的是N-N关系,它取决于N的比率 如果对象是不可变的,建议将它们嵌套到另一个对象中,因为您不必处理更新,搜索也变得微不足道 如果对象不是不可变的,则必须将更新成本与通过集合搜索以查找ID的成本进行加权,然后通过其他集合搜索与该/那些ID关联的对象