我想知道是否有办法强制一个唯一的集合条目,但只有当条目不为空时.e示例模式:
var UsersSchema = new Schema({
name : {type: String, trim: true, index: true, required: true},
email : {type: String, trim: true, index: true, unique: true}
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,'email'不是必需的,但如果保存'email',我想确保此条目是唯一的(在数据库级别).
空条目似乎得到值'null'所以每个条目都没有电子邮件与'unique'选项崩溃(如果有不同的用户没有电子邮件).
现在我正在应用程序级别上解决它,但是希望保存该数据库查询.
谢谢
在稀疏索引文档中,我发现有关mongodb 3.2部分索引的注释
在3.2版中更改:从MongoDB 3.2开始,MongoDB提供了创建部分索引的选项.部分索引提供了稀疏索引功能的超集.如果您使用的是MongoDB 3.2或更高版本,则部分索引应优先于稀疏索引.
部分索引非常有用,我想在我的项目中使用它们.是否有可能与猫鼬一起使用?