2
Ich habe Mongo-Dokumente im folgenden Format. Ich möchte die devices_ids für jede eindeutige phone_numbers erhalten, aber meine Mongo-Abfrage gibt kein korrektes Ergebnis.Abrufen von Gruppe nach Ergebnis mit Arrays in Mongo
Kann jemand mein Problem aufzeigen?
{
"_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"
]
}
Meine erwartete Ausgabe ist
{
"phone_number" : "+919890273451",
device_ids : ["352136067208559","352136","352136234234325"]}
}
ich diese Abfrage versucht haben:
db.contact.aggregate([{
$unwind: "$phone_number"
},
{$group: {"_id":"$phone_number"},
device_ids: { $push: { user: "$device_id"} }
}
], {
allowDiskUse:true,
cursor:{}
});
Dank Professor. Es funktioniert jetzt. Gibt aber repeatative device_id in $ push. Können wir es zu einem einzigartigen Element-Array machen? –
Verwenden Sie '$ addToSet' insted' $ push' - vergessen Sie das :-) @VigneshPrajapati – profesor79
ohh.Yes. Danke @professor! –