在稀疏索引文档中,我发现有关mongodb 3.2部分索引的说明
在3.2版中更改:从MongoDB 3.2开始,MongoDB提供了 创建部分索引的选项。部分索引提供了超集 稀疏索引的功能。如果您使用的是MongoDB 3.2或 之后,部分索引应优先于稀疏索引。
Partial indexes非常有帮助,我想在我的项目中使用它们。是否可以将它们与猫鼬一起使用?
答案 0 :(得分:11)
在当前的Mongoose版本4.3.7中,您无法在方案中定义部分索引,但仍可以使用MongoDB 3.2的部分索引。
您只需使用本机驱动程序创建索引。
// ScheduleModel is a Mongoose Model
ScheduleModel.collection.createIndex({"type" : 1 } , {background:true , partialFilterExpression : { type :"g" }} , function(err , result){
console.log(err , result);
});
之后,每个与partialFilterExpression
匹配的查询都将被编入索引。
答案 1 :(得分:11)
现在可以使用Mongoose +4.6.1
进行原生Book.index({user: 1, author: 1, complete: 1}, {unique: true, partialFilterExpression: {complete: true}});
答案 2 :(得分:0)
对于Mongoid用户:
index(
{ user_id: 1, author_id: 1, complete: 1 },
background: true,
partial_filter_expression:
{
complete: { :$eq => true }
}
)
找不到任何文档,但是this PR。