有没有办法将模式保存在另一个模式中?因为我没有保存嵌入式架构,所以我没有尝试这样做。这是我的模式:
var event = mongoose.Schema({
name: String,
location: String
});
var user = mongoose.Schema({
name: String,
events: [event]
});
var User = new mongoose.model('User', user);
我使用了mongoose的Model.save()函数,但我不知道是否存在将文档保存到mongo数据库的任何其他函数。此外,当我查询数据库并检索保存的数据时,它显示events: []
,因此没有保存数据。有什么想法吗?
编辑:这是我用来创建对象的代码:
var kratos = new user({
name: 'Kratos',
events: [
{
name: 'Kill gods',
location: 'Bay shore'
},{
name: 'Collect orbs',
location: 'Olympus'
}
]
});
答案 0 :(得分:0)
我想你可以做一个简单的解决方案吗?
var user = mongoose.Schema({
name: String,
events: {
name: String,
location: String
}
});
答案 1 :(得分:0)
将用户模型稍微更改为以下内容:
var User = mongoose.Schema({
name: String,
events: []
});
然后,您需要创建新的事件对象。这样的事情会做:
var events = [];
var newEvent = new Event({
name : "Name",
location: "Place"
});
events.push(newEvent);
var kratos = new User({
name: 'Kratos',
events: events
});