Node.js 如何使字段有条件地必须为空?
这不是一个“有时需要”的字段,但有点不同 我需要在Mongoose文档中有一个字段,根据文档中的其他数据,该字段永远不能填充 是否有办法定义模式,以便在填充了字段Node.js 如何使字段有条件地必须为空?,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,这不是一个“有时需要”的字段,但有点不同 我需要在Mongoose文档中有一个字段,根据文档中的其他数据,该字段永远不能填充 是否有办法定义模式,以便在填充了字段a时,该字段b必须为空 我强烈希望不要用mongoose钩子来解决这个问题…可以使用自定义验证器来完成,这个示例适用于mongoose版本5.x new Schema({ a: { type: String }, b: { type: String, default: null, validate: {
a
时,该字段b
必须为空
我强烈希望不要用mongoose钩子来解决这个问题…可以使用自定义验证器来完成,这个示例适用于mongoose版本5.x
new Schema({
a: {
type: String
},
b: {
type: String,
default: null,
validate: {
validator: function (v) {
if (this.a && v === null) {
return true
}
return false
},
message: (props) => `${props.value} should be null!`
}
}
})
您可以使用自定义验证器。