Мангуста: глубокое население (заполняют населенное поле),

Я имею Category модель:

Category:
    ...
    articles: [{type:ObjectId, ref:'Article'}]

Модель Article содержит касательно к Account model.

Article:
    ...
    account: {type:ObjectId, ref:'Account'}

Так, с заполненным articles Модель Category будет:

{ //category
    articles: //this field is populated
     [ { account: 52386c14fbb3e9ef28000001, // I want this field to be populated
         date: Fri Sep 20 2013 00:00:00 GMT+0400 (MSK),
         title: 'Article 1' } ],
    title: 'Category 1' }

Вопросы: как заполнить подполе (учетная запись) населенного поля ([статьи])? Вот то, как я делаю это теперь:

globals.models.Category
    .find
        issue : req.params.id
        null
        sort:
            order: 1
    .populate("articles") # this populates only article field, article.account is not populated
    .exec (err, categories) ->
        console.log categories

Я знаю, что это было обсуждено здесь: Мангуста: Заполните населенное поле, но никакое действительное решение не было найдено

59
задан 23 May 2017 в 15:03

1 ответ

Это понятие является глубоким Населением. Здесь Календарь, Подписка, Пользователь, Квартира является моделями ODM мангусты в разных уровнях

Calendar.find({}).populate({
      path: 'subscription_id',model: 'Subscription',
         populate: {path: 'user_id',model: 'User',
           populate: {path: 'apartment_id',model: 'Apartment',
              populate: {path: 'caterer_nonveg_id',
                          model: 'Caterer'}}}}).exec(function(err,data){ 
                          if(!err){
                             console.log('data all',data)
                           }
                           else{
                             console.log('err err err',err)
                            }
                   });
2
ответ дан 1 November 2019 в 11:19

Другие вопросы по тегам:

Похожие вопросы: