2017-02-07 8 views
0

Wie kann ein Dokument vom Mongo DB Ergebnis ausgeschlossen werden?Ein Dokument von Mongo db ausschließen Ergebnis

Für zB:

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

}

Wie mit Eigenschaften zu erhalten, führt mit Namen N1 & N2 aber nicht N3?

+0

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

Antwort

0

Um Dokument zu erhalten, ohne Namen mit N3 von Eigenschaften verwenden $ne (nicht gleich) Betreiber

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

Aktualisiert:

Sie benötigen Aggregatabfrage verwenden, um alle Datensatz mit Eigenschaften zu erhalten Verwerfen Sie nur das Eigenschaftenelement, das N3 als Namen enthält.

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

Update scheint shocking.And ich leer Ergebnis erhalten, wenn Aktualisierung von Fund ersetzen. –

+0

wo Ihre Anfrage mongo Shell oder wo? @KamalK –

+0

verwendet mongo Shell –

0

Versuchen Sie, den Operator $ne zu verwenden. Sie sollten in der Lage sein, eine Abfrage mit diesem Schlüsselwort zu formulieren.