2016-10-28 5 views
0

Итак, я создаю приложение, и у него есть модель ресторана, в ресторанах есть отзывы. Обзоров есть пользователь, который я населяющий, как это (CoffeeScript):Можете ли вы выполнить несколько вложенных населенных пунктов в мангусте?

exports.listOne = (req, res) -> 
    Restuarant.findOne 
    _id: req.params.id 
    .populate({ path: 'reviews' }) 
    .exec (err, docs) -> 
    options = 
     path: 'reviews.userId' 
     model: 'User' 
    if err 
     return res.json(500) 
    Venue.populate docs, options, (err, venues) -> 
     res.json venues 
     return 
    return 

Проблема заключается Пользователи имеют ссылку на модель отеля, которую я также хочу, чтобы заполнить, это возможно для меня, чтобы заполнить отели в пределах этого запрос?

ответ

1

Mongoose теперь поддерживает глубокое население, которое должно решить вашу проблему. Вы должны быть в состоянии передать что-то вроде этого, чтобы ваш заселить (трудно точно сказать, не видя модели):

.populate({ 
    path: 'reviews', 
    model: 'Review', 
    populate: { 
     path: 'user', 
     model: 'User', 
     populate: { 
     path: 'hotel', 
     model: 'Hotel' 
     } 
    } 
    })... 

Вот хорошая статья на население, которое может помочь: http://frontendcollisionblog.com/mongodb/2016/01/24/mongoose-populate.html