내 문서는 다음과 같다 :고유 배열 요소는
{
"_id": "1",
"tags": [
{ "code": "01-01", "type": "machine" },
{ "code": "04-06", "type": "gearbox" },
{ "code": "07-01", "type": "machine" }
]
},
{
"_id": "2",
"tags": [
{ "code": "03-04","type": "gearbox" },
{ "code": "01-01", "type": "machine" },
{ "code": "04-11", "type": "machine" }
]
}
가 난 단지 유형이 "기계"입니다 태그에 대해 별개의 코드를 얻으려면. 위의 예에서 결과는 ["01-01", "07-01", "04-11"]
이어야합니다. 어떻게해야합니까? 당신이 그 (것)들을 하나의 문서 내에서 배열에 넣고 싶은 경우에,
db.collection_name.aggregate([
{
$unwind: "$tags"
},
{
$match: {
"tags.type": "machine"
}
},
{
$group: {
_id: "$tags.code"
}
},
{
$project:{
_id:false
code: "$_id"
}
}
]);
을 또는 : 키가 결과 집합에 당신에게 별도의 문서에서 각 태그를 줄 것 같은 태그로 $unwind
다음 $group
을 사용
[mongoDB 컬렉션에서 배열을 얻는 방법] 가능한 복제본입니다. (http://stackoverflow.com/questions/38210121/how-to-get-array-from-mongodb-collection) – styvane