【发布时间】:2016-04-30 03:09:59
【问题描述】:
我的 Mongoose 架构如下所示:
var userSchema = mongoose.Schema({
fbid : String,
googleid : String,
birthday : String,
email : String,
first_name : String,
last_name : String,
gender : String,
age : Number,
location : String,
paid : { type: Boolean, default: 0 },
lessons: [
{
name : { type: String, default: 'foobar1'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar2'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar3'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar4'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar5'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar6'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar7'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
},
{
name : { type: String, default: 'foobar8'},
sent : { type: Boolean, default: 0 },
read : { type: Boolean, default: 0 },
activity: { type: Boolean, default: 0 }
}
]
});
在执行new User() 时,lessons 数组的所有内容都会正确创建除了,该数组作为空数组返回,而不是使用默认值创建嵌套对象。
在执行new User() 时可以创建这些对象,但我希望这发生在模型本身中,因为所有用户都将拥有相同的lessons 和相同的初始值。
我怎样才能做到这一点?
【问题讨论】:
-
应该是
new mongoose.Schema(...)
标签: javascript node.js mongodb mongoose