У меня проблемы с работой отношений n-n в Thinky:
Вот код, определяющий модель:
module.exports = function(thinky){
var User = thinky.createModel("User",{
SNIP: A Bunch of properties
});
User.hasAndBelongsToMany(User,"friends","id","id");
return User;
}
А вот маршрут, где добавляется друг:
router.route('/user/:user_id/addFriend')
.post(function(req,res){
User.get(req.params.user_id).run().then(function(user){
User.get(req.body.id).run().then(function(friend){
if(!user.friends){
user.friends = [friend];
}else{
user.friends.push(friend);
}
user.saveAll().then(function(result){
res.json({user:result});
});
});
},function(err){
console.log(err);
res.status(400).json({error:err});
});
});
Результат, возвращаемый на маршруте addFriend, имеет друга, но когда я позже получаю пользователей, связи нигде не видно. Если я посмотрю в RethinkDB Data Explorer, thinky создал таблицу User_User для связи, и в ней находятся следующие данные:
[
{
"id": "8f08de10-6f3c-486e-958a-cb0e05b79244_de484182-5aab-4773-a374-e0ba292f7f80" ,
"id_id": [
"de484182-5aab-4773-a374-e0ba292f7f80" ,
"8f08de10-6f3c-486e-958a-cb0e05b79244"
]
}
]
Но Thinky отказывается видеть отношения как существующие. Что я делаю не так?