Я пытаюсь выполнить запрос в MongoDB в первую группу по id, а затем сортировать по убыванию. У меня есть функциональное выражение LINQ здесь:Понимание MongoDB Aggregate и GroupBy
var list = this.GetPackages().ToList();
list = list.OrderByDescending(package => package.PackageVersion)
.GroupBy(g => g.PackageId)
.Select(packages => packages.First()).ToList();
return list;
Но я не могу придумать с эквивалентным выражением MongoDB, и я не могу даже получить функцию $ проекта для работы:
db.packages.aggregate([
{
$sort : { packageVersion : -1 }
},
{
$group: { _id: "$PackageId" }
},
{
$project: { PackageVersion: 1, Title: 1 }
}
])
My результат:
{ "_id" : "e3afb1fe-dce7-476e-8372-cd8201abc131" }
{ "_id" : "e3722179-0903-4894-9a86-3a3ffd94de83" }
{ "_id" : "3e65e93a-4c2c-4a02-8b21-e5858a4058dd" }
ли запрос MongoDB правильного формата, и есть эквивалент способ сделать это с помощью драйвера C# MongoDB?
Вам не хватает '[]'? или это просто опечатка? и свойства чувствительны к регистру. – BatScream
К сожалению, я добавил скобки, но ничего не изменил. Я добавлю результат в исходное сообщение. –
Пожалуйста, проверьте ответ ниже. – BatScream