【发布时间】:2014-12-05 00:25:50
【问题描述】:
我正在尝试在 MongoDB 中进行查询,以首先按 id 分组,然后降序排序。我在这里有一个功能性 LINQ 表达式:
var list = this.GetPackages().ToList();
list = list.OrderByDescending(package => package.PackageVersion)
.GroupBy(g => g.PackageId)
.Select(packages => packages.First()).ToList();
return list;
但我似乎无法想出等效的 MongoDB 表达式,我什至无法让 $project 函数工作:
db.packages.aggregate([
{
$sort : { packageVersion : -1 }
},
{
$group: { _id: "$PackageId" }
},
{
$project: { PackageVersion: 1, Title: 1 }
}
])
我的结果是这样的:
{ "_id" : "e3afb1fe-dce7-476e-8372-cd8201abc131" }
{ "_id" : "e3722179-0903-4894-9a86-3a3ffd94de83" }
{ "_id" : "3e65e93a-4c2c-4a02-8b21-e5858a4058dd" }
MongoDB 查询的格式是否正确,是否有使用 C# MongoDB 驱动程序执行此操作的等效方法?
【问题讨论】:
-
您是否错过了
[]?还是只是一个错字?并且属性区分大小写。 -
糟糕,我添加了括号,但它没有改变任何东西。我会将结果添加到原始帖子中。
-
请检查下面的答案。