我的Mongoose模型没有将ObjectId放在父文档中以引用另一个集合中的子文档。我该怎么办?
这些是我的模特:
menu_items.js
var menuItems = new mongoose.Schema({
title : String,
subitem: [{type: mongoose.Schema.Types.ObjectId,ref: 'sub_items'}]
}, {collection: 'menu_items'});
module.exports = mongoose.model("menu_items", menuItems);
sub_items.js
var subItems = new mongoose.Schema({
title: String,
},{collection: 'sub_items'});
module.exports = mongoose.model("sub_items", subItems);
我在ExpressJS中的子项目发布功能:
postController.postSubitems = function(req,res,item) {
var id = req.body.id;
var saveData = {
title: req.body.sub_item
};
var data = new item(saveData);
saveToDB(data,res);
};
答案 0 :(得分:1)
您还需要更新您的menuItem。例如,假设新的sub_item的_id为123456。您需要像这样更新menuItem:
menuItem.subitem.push(123456);
menuItem.save();
这会将_id添加到子项数组,从而为menuItem提供对指定sub_item的引用