我试图使用sails js查询深层关联。在我的例子中,我在房间和用户之间有一对多的关联,并且在用户和图片之间也有一对多的关联。我担心的是,这是将图片分配给用户的正确方法,以及如何将每个图片集合映射到相应的用户。感谢。
// RoomController
show: function(req, res) {
async.auto({
room: function(cb) {
var slug = req.param('slug');
Room
.findOneBySlug(slug)
.populate('users', { where: { is_active: true, is_online: true } })
.populate('messages', { limit: 30, sort: 'createdAt DESC' })
.exec(cb)
},
pictures: ['room', function(cb, results) {
if (!results.room) return res.badRequest('User not found.');
Picture
.find({user: _.pluck(results.room.users, 'id')})
.where({'is_primary': true})
.exec(cb);
}],
map: ['pictures', function(cb, results) {
var room = results.room.toJSON();
room.users = room.users.map(function(user) {
user.pictures = results.pictures;
return user;
});
return cb(null, room);
}]
},
function finish(error, results) {
if (error) return res.serverError(error);
console.log(results.map)
}
);
}