Я знаю, что при использовании find() в коллекции я могу использовать $ orderBy. Но моя коллекция содержит другие объекты, как я могу отсортировать эти объекты? Например:MongoDB find() заказать дочерние объекты
books: [{
title: 'book 1',
authors: [
{ name: 'jim' },
{ name: 'bob' },
]
}, {
title: 'book 2',
authors: [
{ name: 'steve' },
{ name: 'joe' },
]
}];
Я хочу сделать db.collections.find(); и чтобы он возвращал все книги по порядку (что я знаю, как делать с помощью $ orderBy, но я также хочу, чтобы авторы отсортировались.
'$ orderBy' работает на уровне курсора, поэтому изменяется только порядок, в котором курсор возвращает соответствующие документы. Лучше всего сортировать массив в каждом документе при его сохранении или обновлении - см. Мой ответ ниже. – SuperAce99