首页 文章

使用mongoose中的mongodb多键索引方法索引引用数组

提问于
浏览
2

我的模式有一个ObjectIds数组,它引用了另一个模式 . 我想要的是使用mongodb的多键索引方法索引此数组条目 . 因此,如果给出 ProductCat 集合中的某个文档 ObjectId ,我可以列出当前集合中 _pro_cat 字段中给定 ObjectId 的所有文档 .

我对我应该声明字段的确切方式感到困惑,在mongoose模式声明中,这是我正在尝试的:

_pro_cat: { type: [mongoose.Schema.Types.ObjectId], ref: 'ProductCat', index: true }

_pro_cat: [{ type: mongoose.Schema.Types.ObjectId, ref: 'ProductCat', index: true }]

这个系列的名称是卖家 . 我正在 Build 关系,通过使用模式中的引用,实际字段值是一个数组,每个类型为ObjectId,它将是另一个Collection(本例中为ProductCat)中文档的ObjectIds . 如果我索引这个字段,即.. _pro_cat,然后给出ProductCat Collection中文档的ObjectId,我将能够找到Seller集合中已在其数组字段_pro_cat中给出ObjectId的所有文档 .

我想我可能要调用一个单独的索引函数 . 但我认为这是一个字段级索引,所以可能不需要它 .

我怀疑后者仅适用于子文档而不适用于参考文献 . 非常感谢,如果有人能够阐明它 . 谢谢 .

Side Question: [RE-SOLVED] 在mongodb文档中,它表示多键索引是自动的 . multikey indexing . 这是否意味着如果使用上述方法索引该字段,则mongo将识别该字段是一个数组并使用多键索引 . 或者它是否意味着所有数组类型的字段都将被索引,而无需明确告诉它索引 .

非常感谢 .

related

1 回答

  • 4

    Multikey Indexing means 如果告诉mongo索引字段,则会对数组字段中的每个项编制索引 .

    does not mean 所有数组字段都自动编入索引,而无需明确告诉mongo索引该字段 .

相关问题