MongoDB에서 먼저 ID로 그룹화 한 다음 내림차순으로 정렬하려고합니다. 여기 기능 LINQ 표현이 있습니다MongoDB 집계 및 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 }
}
])
내를
{ "_id" : "e3afb1fe-dce7-476e-8372-cd8201abc131" }
{ "_id" : "e3722179-0903-4894-9a86-3a3ffd94de83" }
{ "_id" : "3e65e93a-4c2c-4a02-8b21-e5858a4058dd" }
가 올바른 형식의 MongoDB의 쿼리, 그리고 C# MongoDB의 드라이버를 사용하여이 작업을 수행하는 동등한 방법이있다 : 결과는이 무엇입니까?
[]]가 누락 되었습니까? 아니면 그냥 오타입니까? 속성은 대/소문자를 구분합니다. – BatScream
죄송합니다. 대괄호를 추가했지만 아무 것도 변경하지 않았습니다. 결과를 원래 게시물에 추가하겠습니다. –
아래의 답변을 확인하십시오. db.packages.aggregate ([ { $ 정렬 : {PackageVersion : -1} }, { $ 그룹 : {_id : "$ PackageId", "PackageVersion": {$ – BatScream