2016-12-18 5 views
0

配列から重複した値を削除しようとしていますが、値がnullのキーをスキップするのが難しいのですが、下のクエリで成功することができます。私は、次のコードMongoDB集約ヌル値キーをスキップ

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'} }}]); 

値がnullの場合Message_idを無視することができますどのように

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

に従うとしての私の出力結果を使用していますか? falseに設定されている場合はnullフィールドをほどくません> preserveNullAndEmptyArrays - あなたが使用できる「All_Participants」を巻き戻しながら期待される出力は

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

を参照することができ、私はこれが助けることができると思う:私はリンクコマンド、次の試してみましたhttp://stackoverflow.com/questions/33123396/group-in-mongo-excluding-null-values – Jackowski

+0

が、私のために働かなかった – Sumon

答えて