Sails.js 0.10.0-rc5多对多关联:删除

时间:2014-04-24 16:43:07

标签: sails.js waterline sails-mongo

我正在使用sails.js beta和mongodb开发应用程序。 我在多对多关联中有两个模型,我可以使用.add()和.populate()方法成功关联和填充这些模型的实例。我现在的问题是.remove()方法似乎什么都不做。

这里有模特:

//Menu.js
module.exports = {
  schema : true,
  attributes: {
    name: {
        type: 'string',
        minLength: 3,
        required: true
    },
    dishes: {
        collection: 'dish',
        via: 'menus',
        dominant: true
    }
  }

};

//Dish.js
module.exports = {
schema : true,
attributes: {
    name:  {
        type: 'string',
        minLength: 3,
        required: true
    },
    description: 'string',
    menus: {
        collection: 'menu',
        via: 'dishes'
    }
  }

};

这里控制器动作......

addDishToMenu: function(req,res,next){
    Menu.findOne(req.param('menu')).populate('dishes').exec(function(err,bean){
        if(err) return next(err);
        if(!bean) return next();
        bean.dishes.add(req.param('dish'));            
        bean.save(function(err) {
            if(err) return next(err);
            res.redirect('/main/dishes/');
        })
    })
},

removeDishFromMenu: function(req,res,next){
    Menu.findOne(req.param('menu')).populate('dishes').exec(function(err,bean){
        if(err) return next(err);
        if(!bean) return next();
        bean.dishes.remove(req.param('dish'));
        bean.save(function(err) {
            if(err) return next(err);                
            res.redirect('/main/menu/' + req.param('menu'));
        })
    })
}

我无法弄清楚我做错了什么。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

此问题已修复,我使用之前发送的回购确认了该问题。如果你更新你的风帆,水线和sails-mongo版本,你应该很高兴。