mongo设置可选的唯一索引
对于一些可能为空但必须唯一的字段,mongo支持创建部分索引,使用 partialFilterExpression 字段。
MongoDB version >= 3.2
下面以 unique_addr 字段为例,该字段为字符串且记录了唯一地址,但是用户可以选择不填:
db.collection.createIndex(
{ unique_addr: 1 },
{
unique: true,
partialIndexExpression: {
unique_addr: { $gt: '' }
}
}
);
此时mongo仅会为不为空的 unique_addr 字段建立索引。
参考:
https://docs.mongodb.com/manual/core/index-partial
https://stackoverflow.com/questions/35755628/unique-index-in-mongodb-3-2-ignoring-null-values
浙公网安备 33010602011771号