을 사용하는 모든 객체는 나는이그룹 통합 프레임 워크
{ "event_type": "event1", "created_at": some_date, ...more_fields... },
{ "event_type": "event2", "created_at": some_date, ...other_fields... },
{ "event_type": "event1", "created_at": some_date, ...more_fields... }
가 지금은 존재하지 않을 수있는 몇 가지 필드로 그룹화 모든 필드 위의 데이터를 (갖고 싶어처럼 보인다하여 MongoDB에서 개체의 컬렉션을 가지고 모든 객체) 가장 높은 created_at 날짜순으로 정렬하십시오. 나는 어떤 특정 분야에 넣으면 라인
:events => { "$push" => { ... } }
관련이 직면하고있어 문제는 다음 작동
collection.aggregate([
{ "$group" => {
:_id => "$somefield",
:last_time => { "$max" => "$created_at" },
:events => { "$push" => { ... } }
}
},
{ "$match" => { "_id" => { "$ne" => nil } } },
{ "$sort" => { "last_time" => -1 } }
])
: 나는 다음과 같은 쿼리를 집계 프레임 워크를 사용하여이 작업을 수행하기 위해 노력했다 하지만 컬렉션에 포함 된 정확한 필드를 모르겠습니다. 그러나 오히려 나는 전체 개체는 다음과 같이 반환합니다 :
{
"event_type": "event1", "last_time": some_date, "events": [
{ "event_type": "event1", "created_at": some_date, ...more_fields... },
{ "event_type": "event1", "created_at": some_date, ...more_fields... },
...
]
}
그럴 수는 있지만 데이터의 모양을 변경하지 않아도됩니다. 나는 간단한 그룹 호출과 클라이언트로 정렬하여 끝내었다. – derfred