나는 몇 개의 필드가있는 문서를 가지고 있는데, 특히 배열 인 attrs이라는 필드가 있습니다. 집계 파이프 라인을 사용하고 있습니다.빈 배열을 사용하면 쿼리에 문서가 표시되지 않습니다.
내 쿼리에 요소가있는 경우 attrs (특성) 필드에 관심이 있습니다. 그렇지 않으면 결과를 얻고 싶습니다. 이 경우 해당 문서의 유형을 입력합니다.
문제는 문서가 attrs에에 필드를 모든 요소를 포함하지 않는 경우 정말이 쿼리에서 원하는 것을 멀리 필터링됩니다 내가 자사의 _id.type 필드를 얻을 것입니다 .
{
aggregate: "entities",
pipeline: [
{
$match: {
_id.servicePath: {
$in: [
/^/.*/,
null
]
}
}
},
{
$project: {
_id: 1,
"attrs.name": 1,
"attrs.type": 1
}
},
{
$unwind: "$attrs"
},
{
$group: {
_id: "$_id.type",
attrs: {
$addToSet: "$attrs"
}
}
},
{
$sort: {
_id: 1
}
}
]
}
그래서 질문은 : 나는 상관없이 그들이 그 (것)들이 경우에 속성을 포함한
바인드합니다을 가지고 있지만 모든 문서 유형을 포함하는 결과를 얻을 수있는 방법?
나는 그것이 의미가 있기를 바랍니다.
당신은 샘플 examp와 함께 귀하의 게시물을 편집 할 수 있습니다하십시오 르 파일? – styvane
빈 배열을 풀면 문서가 누락되어 문서를 추가 할 수 있습니다. – mallik