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