如何使用mongoose将嵌入文档默认为null

Aus*_*vis 8 schema mongoose mongodb

假设我有一个带有嵌入式文档的模式,称为包含多个值的首选项.我试图让mongoose默认嵌入文档为null

例如,我在过去的基本类型(如字符串和日期)中将字段默认为null.

var userSchema = new Schema({
name: {type: String, required: true},
preferences: {type: preferences, default: null}
});

var preferences: {
preference1: String,
preference2: String
}
Run Code Online (Sandbox Code Playgroud)

在新文档的创建中,我应该如何将userSchema中的属性首选项默认为null?

Kie*_*lus 12

var userSchema = new mongoose.Schema({
  name: {type: String, required: true},
  preferences: {type : { preference1 : String, preference2 : String}, default : null}
});
Run Code Online (Sandbox Code Playgroud)

经测试:

User.create({name : "Aladin"})
User.create({name : "Aladin", preferences : {preference1 : "Wunderlampen", preference2 : "Teppich" }})
Run Code Online (Sandbox Code Playgroud)