0

我有一个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], ... ]

但是查询很困难,似乎索引是不可能的。所以我需要你的帮助。

4

0 回答 0