필드가 존재하지 않는 한 해당 필드로 그룹화하려는 문서 모음이 있습니다. 그런 다음 두 번째 필드로 그룹화하려고합니다. 예를 들어
다음 4 문서를 고려해{
prop1: 'anything',
prop2: 1
},
{
prop1: 'anything',
prop2: 2
},
{
prop1: 'something'
},
{
prop1: 'something else'
}
나는 그룹 'prop2'에 의해 내가 3 개 분류 결과를 얻을 때. 하나 :
prop2 == 1과
prop2의 == 2
prop2 ==
정의하지만 4 개 결과를 얻을 싶어요.
: 한 가지prop2 == 1과
prop2의 == 2
prop1 == ''나
prop1 == '뭔가 다른'
이것도 가능합니까? 매우 복잡한 쿼리입니까? 누락 된 필드를 채우는 것이 나을 수있어 그룹화 할 수 있습니까? 각 문서 내용
db.cullection.aggregate(
{ $project: { "groupVal": { $ifNull: [ '$prop2', '$prop1' ] } } },
{ $group: { "_id": "$groupVal" } }
);
다음과 같이
이것은 정확히 내가 찾고있는 것입니다. 고맙습니다. – smdufb