2016-12-18 3 views
0

Ich versuche, doppelten Wert aus dem Array zu entfernen, die ich erfolgreich mit unten Abfrage erreichen kann, aber Schwierigkeiten haben, Schlüssel zu überspringen, wo Werte null sind. Ich verwende folgenden CodeMongoDB-Aggregation überspringe Nullwert-Schlüssel

db.mobile_data.aggregate([{$unwind: '$All_Participants'}, 
{$group: {_id:'$_id',All_Participants: {$addToSet: '$All_Participants'}, 
    Chat_group: {$first: '$Chat_group'}, Message_id: {$first: '$Message_id'} }}]); 

mein Ausgabeergebnis als

{ 
    "_id" : ObjectId("5856b1e39a47e6d13dab370b"), 
    "All_Participants" : [ 
     "user1", 
     "user4" 
    ], 
    "Chat_group" : 67.0, 
    "Message_id" : Null 
} 

folgen Wie Message_id ignorieren kann, wenn der Wert null ist? Erwartete Ausgabe sollte

{ 
    "_id" : ObjectId("5856b1e39a47e6d13dab370b"), 
    "All_Participants" : [ 
     "user1", 
     "user4" 
    ], 
    "Chat_group" : 67.0 
} 
+1

Ich denke, das helfen kann: http://stackoverflow.com/questions/33123396/group-in-mongo-excluding-null-values ​​ – Jackowski

+0

Ich habe folgende Link-Befehl versucht, aber hat nicht für mich gearbeitet – Sumon

Antwort