В Mongoose я могу использовать запрос для заполнения дополнительных полей после запроса. Я могу также заполнить несколько путей, такие какMongoose: множественный запрос заполняется одним вызовом
Person.find({})
.populate('books movie', 'title pages director')
.exec()
Однако, это будет генерировать поиск по книге сбора поля для заголовка, страниц и режиссера - а также поиск на фильме сбора поля для заголовка, страниц и режиссера также. Я хочу получить титул и страницы только из книг, а режиссер из фильма. Я мог бы сделать что-то вроде этого:
Person.find({})
.populate('books', 'title pages')
.populate('movie', 'director')
.exec()
, который дает мне ожидаемый результат и запросы.
Но есть ли способ иметь поведение второго фрагмента, используя аналогичный синтаксис «одной строки», такой как первый фрагмент? Причина этого заключается в том, что я хочу программно определить аргументы для функции заполнения и передать ее. Я не могу сделать это для нескольких вызовов заполнения.
Имеет ли такое использование влияние производительности на объединение нескольких населенных пунктов? – scaryguy
Вы должны принять свой собственный ответ. – royhowie
С простым exec он не будет работать? –