我有一个categories
具有这种模式的集合:
_id: ObjectId, name: String, parent: ObjectId
和另一个集合products
,有参考:
name: String, category: [ObjectId, ObjectId, ...]
该category
数组包含一个层次树而不是多个类别,便于查询更高级别的类别。
例如类别树 A -> B -> C,A 是根。保存产品时,其文档为:
name: 'some name', category: [C, B, A]
因此,我可以快速轻松地查询所有产品,即使是 B 或 A 等更高级别的类别。
现在架构发生了变化,一个产品可以有多个类别,每个类别都有其层次结构树。 自然我来了以下:
name: 'some name', categories: [ [C, B, A], [E, D, A], ... ]
但是查询很困难,似乎索引是不可能的。所以我需要你的帮助。