2017-02-07 21 views
0

mongo dbの結果から1つの文書をどのように除外できますか?例えばのためにmongo dbの結果から1つの文書を除外

:プロパティはN3名前N1 & N2を有するがないとの結果を取得する方法

{ 
    "_id":ObjectId("57bc115edb04d82550e823cb"), 
    "menu":[ ], 
    "properties":[ 
     { 
     "name":"N1", 
     "value":"17" 
     }, 
     { 
     "name":"N2", 
     "value":"10" 
     }, 
     { 
     "name":"N3", 
     "value":"14" 
     } 
    ] 

}

+0

https://docs.mongodb.com/v3.2/reference/operator/query/ne/ –

答えて

0

名前を持たずに、文書を取得するには、プロパティのN3である$ne等しくない)オペレータ更新

db.collectionName.find({ "properties.name": { $ne: "N3" } }) 

使用:あなたはプロパティを持つすべてのレコードを取得する集計クエリを使用する必要が

名前としてN3を含むプロパティ要素のみを破棄します。

db.collectionName.aggregate([ 
    {$unwind:"$properties"}, 
    {$match:{"properties.name":{$ne:"N3"}}}, 
    {$group:{ 
     _id:"$_id", 
     properties:{$push:"$properties"}, 
     menu: {$first:"$menu"} 
     } 
    } 
]) 
+0

更新は、findでアップデートを交換する場合、私は空の結果を得るshocking.Andようです。 –

+0

ここであなたのクエリmongoシェルを実行するか、どこに? @KamalK –

+0

mongo shellを使用 –

0

$ne演算子を使用してください。このキーワードを使用してクエリを作成できるはずです。

関連する問題