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