Заполнить, кажется, не для всех элементов массива - PullRequest
0 голосов
/ 02 апреля 2020

Рассмотрим код ниже:

const aux = await Fasta.find({}, "healthyTissue")
    .limit(1)
    .populate({
      //---------------------first level (healthy or tumor fasta file) ----------------
      path: "healthyTissue",
      model: "Hidden",

      options: {
        limit: 2
      },

      //---------------------    second level (hidden documents)       ----------------
      populate: {
        path: "children",
        options: {
          limit: 2
        },
        model: "FastaElement"
      }
    });

Это вывод:

enter image description here

Проблема: просто первые дети заселяются . Я дважды проверил базу данных, и она не пуста .

Мне кажется, я видел эту проблему, но не могу вспомнить, где. Может ли кто-нибудь обновить sh мою память?

1 Ответ

1 голос
/ 02 апреля 2020

Попробуйте добавить perDocumentLimit к вашим опциям заполнения: https://mongoosejs.com/docs/api/model.html#model_Model .populate

По устаревшим причинам ограничение с помощью функции populate () может давать неверные результаты, поскольку оно выполняется только один запрос на каждый заполняемый документ. Если вы установите perDocumentLimit, Mon goose обеспечит правильное ограничение для каждого документа, выполнив отдельный запрос для каждого документа для заполнения ().

...