猫鼬参考父文档中不放置的ObjectId

问题描述 投票:0回答:1

我的猫鼬模型没有将的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);
};
express mongoose reference
1个回答
1
投票

您还需要更新您的菜单项为好。例如,假设你的新分项目的_id为123456你需要更新你的菜单项,如下所示:

menuItem.subitem.push(123456);
menuItem.save();

这将_id添加到分项目阵列,并且因此给菜单项到指定的分项目的引用

© www.soinside.com 2019 - 2024. All rights reserved.