一般我们在创建用户信息表时,常见有phone、email等唯一约束的字段,但是这些字段可能在用户注册时为空的,如果在Schema定义时只有unique: true,在插入数据时将会报错
在Schema中增加参数:sparse: true
phoneNumber: {
unique: true,
sparse: true, // 支持唯一约束为空
type: Schema.Types.Number,
trim: true
}
注意:不可同时定义 default: null
参考:
MongoDB——索引属性之稀疏索引(Sparse Indexes)
什么是稀疏?sparse在mongodb中的用途是什么?