我正在尝试使用mongoose将多个项目插入子文档:
User.update(
{'_id': userId, 'pages._id': pageId},
{ $push:
{'pages.$.items':
{ $each: data }
}
}, function(err, result) {
console.log(result); // prints { n: 1, nModified: 1, ok: 1 }
}
);
我做错了什么?它既不会抛出错误也不会插入任何项目。
编辑:用户架构:
var PageSchema= new Schema({
items: [{
a: String,
b: String
}]
});
var UserSchema = new Schema({
email: String,
pages: [PageSchema]
});
mongoose.model('User', UserSchema);
我可以使用以下代码插入1个项目:
User.findOne({'_id': userId, 'page._id': pageId}).exec(function(err, user) {
user.pages.id(pageId).items.push(data[0]);
user.save();
});
但我想这不是插入多个元素的好方法。