我想在Mongoose模式中設置可選字段。我的Log
模式。如何使可選的字段基於Mongoose中的其他字段?
var logSchema = new Schema({
logType: {
type: String,
enum: ['user', 'lead', 'knowledgecenter'],
required: true
},
userLog: {
name: {
type: String,
required: true
},
userId: {
type: Schema.Types.ObjectId,
required: true
}
},
leadLog: {
title: {
type: String,
required: true
},
leadId: {
type: Schema.Types.ObjectId,
required: true
}
}
});
我想插入上面Log
架構文檔或者與{logType:'user',userLog:{userId:'5fcJFjslkka4lsdk'}}
或{logType:'lead',leadLog:{leadId:'5fcJFjslkka4lsdk'}}
。
但此時貓鼬ValidatorError: Path required
錯誤。
在貓鼬的所有字段默認可選除了'id'場! – 0xtvarun
但在這裏我爲每個字段設置了'required'選項。所以,他們現在不是可選的。 – vineet