У меня есть пара связанных коллекций, давайте назовем их родительскими и дочерними.
Моя проблема в том, что я пытаюсь отсортировать родительские документы по полю child.name. Каждый дочерний документ также имеет поле parentId.
Я создал массив проекций, который отображает дочерние _ids на имена, и это в порядке сортировки, который я хочу (в алфавитном порядке по имени).
т.е.
Дочерние документы
[
{_id: "GiXtSJqg22aYf6h7r", name: "Allen"}
{_id: "rRCiqcEAsDaDeJYL3", name: "Bob"}
{_id: "bP2kKbsofyqKjp9Zq", name: "Chris"}
{_id: "8so7KNeTwQGbLvwxo", name: "Darien"}
{_id: "XZ7kMDSjae82ddi7p", name: "Edgar"}
{_id: "k5j8LWTbWEStNhK5p", name: "Sally"}
]
Затем я хочу вернуть некоторые родительские документы, отсортированные по child.name, как показано выше. Родитель имеет childId, но не child.Name. Так что я думаю, что смогу понять это с помощью картографии.
Есть ли в любом случае сделать что-то вроде следующего ..
Parents.find({}, { sort: {childId: ORDER_OF_MAPPING._id} }
Таким образом, порядок сортировки " по возрастанию, основанный на порядке отображения ".
Я собираюсь сделать это без агрегации, так как я использую метод Meteor Publi sh для возврата курсора.
Есть идеи?