3
我试图使用2个模型之间的多对多关联,我必须调用.add()或.remove ()两次使其正常工作:Sails.js/Waterline .add()和.remove()只适用于第二次调用
// User.js Model
module.exports = {
attributes: {
connections: {
collection: 'connection',
via: 'users'
}
}
}
// Connection.js Model
module.exports = {
attributes: {
users: {
collection: 'user',
via: 'connections'
}
}
}
这是我在我的UsersController.js代码:
User.findById(req.params.user)
.populate('connections')
.exec(function(err, users) {
if (err) return res.status(404).end(); // Not really a 404 but good for now
var user = users[0];
user.connections.add(req.body.connection_id);
user.save(function(err) {
// In my tests err is null/undefined
return res.status(204).end();
}
});
,我收到了204回来的日志或没有在任何其他错误失败。当我检查我的MongoDB数据库时,用户的连接字段只是一个空数组。如果我再次发送相同的请求,那么我得到一个错误,说明该用户的connection_id已经存在。我查看数据库,现在连接出现在用户的连接字段中。当我删除一个连接时,它做同样的事情,我必须发送两次才能生效。有人有主意吗?
下面是我使用的模块版本:
- Node.js的版本:0.12.0
- Sails.js版本:0.11.0
- 帆 - 蒙戈版本:0.10.5
谢谢!那为我工作Stenio。 – janex 2015-04-09 02:52:49