2
다음 형식으로 mongo 문서가 있습니다. 각 고유 한 phone_numbers에 대한 devices_ids를 가져오고 싶지만 내 mongo 쿼리가 적절한 결과를 제공하지 않습니다.mongo에서 배열로 결과 검색
누구든지 내 문제를 지적 할 수 있습니까?
{
"_id" : ObjectId("56cf21562e7b232d022f334e871"),
"uid" : 5,
"device_id" : "352136234234325",
"name" : "user1",
"email" : ["[email protected]" ],
"phone_number" : [
"+919890273451"
]
}
{
"_id" : ObjectId("56cf21562e7b2d032422f334e872"),
"uid" : 15,
"device_id" : "352136",
"name" : "user1",
"email" : [ "[email protected]"],
"phone_number" : [
"+919890273451"
]
}
{
"_id" : ObjectId("56cf21562342e7b2d022f334e873"),
"uid" : 51,
"device_id" : "352136067208559",
"name" : "user1",
"email" : [ "[email protected]"],
"phone_number" : [
"+919890273451"
]
}
내 예상 출력 내가이 쿼리를 시도
{
"phone_number" : "+919890273451",
device_ids : ["352136067208559","352136","352136234234325"]}
}
입니다 :
db.contact.aggregate([{
$unwind: "$phone_number"
},
{$group: {"_id":"$phone_number"},
device_ids: { $push: { user: "$device_id"} }
}
], {
allowDiskUse:true,
cursor:{}
});
감사 교수. 그 지금 일하고있어. 그러나 $ push에서 반복적 인 device_id를 제공합니다. 고유 요소 배열로 만들 수 있습니까? –
'$ addToSet' insted'$ push' - 잊어 버렸습니다 :-) @VigneshPrajapati – profesor79
오오. 감사합니다 @professor! –