Найдите последнюю запись на основе нескольких идентификаторов, используя Meteor

У меня есть коллекция в mongodb, которая имеет следующий формат:

{
   parentId: "12345akNu",
   createdAt: "2018-12-02",
   complete: false
}

Я хотел бы найти все самые последние записи для набора parentId, которые не завершены. В настоящее время у меня есть этот запрос, чтобы найти все записи, но я не могу понять, как получить только последние записи.

collection.find({ parentId: { $in: list_of_ids }, completed: false});

Для отдельных записей это случай использования findOne с сортировкой по {createdAt: -1}, но мне нужно выполнить это в одном запросе для нескольких записей, если это возможно.

Обновить

Поскольку это было предложено закрыть, я обновляю и уточняю запрос.

Это для приложения Meteor, которое (на стороне клиента) имеет ограниченный интерфейс для драйверов mongodb, поддерживая только find и findOne. Было бы идеально, если бы этого можно было достичь только с помощью этих вызовов.


person Hans    schedule 13.01.2018    source источник
comment
Попробуйте collection.aggregate([ { parentId: { $in: list_of_ids }, completed: false}, {"$sort":{"createdAt":-1}}, {"$group":{ "_id":"$parentId", "first":{"$first":"$$ROOT"} }} ])   -  person s7vr    schedule 14.01.2018
comment
Я добавил еще немного контекста, поскольку это часть приложения Meteor, где агрегатная функция недоступна на стороне клиента.   -  person Hans    schedule 14.01.2018