Wie Sie verhindern, dass MongoDB aus der Rückgabe der Objekt-ID bei der Suche nach einem Dokument?
Habe ich das folgende Dokument in MongoDB...
{
"_id" : ObjectId("531221cd960100960116b992"),
"username : "joe",
"address" : [
{
"zip" : "8000",
"city" : "Zurich"
},
{
"zip" : "6900",
"city" : "Lugano"
}
]
}
... und zum abrufen der zweiten Adresse, die ich verwenden Sie die folgende Anweisung:
db.users.find({ _id: ObjectId("531221cd960100960116b992") }, { addresses: { $slice: [0, 1] } } )
Diese funktioniert, außer es gibt auch den Objekt-id:
{ "addresses" : [ { "zip" : "6900", "city" : "Lugano" } ], "_id" : ObjectId("531221cd960100960116b992") }
Wie kann ich verhindern, dass MongoDB aus der Rückgabe der Objekt-id? Ich weiß, ich sollte eine Projektion wie _id : 0
... aber wo sollte ich es in den obigen Ausdruck? Ich habe eine Reihe von versucht... aber ohne Erfolg.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist genau das gleiche wie @hanleyhansen Antwort, aber nur, damit Sie wissen, dass Sie verwenden können, 0, austauschbar mit falschen wie:
Pass
Als parameter an
find()
addresses: { $slice: [0, 1] }
sein sollte, fügen Sie im zweiten parameter (Projektion), nicht in den Abfrage-parameter.address
Feld, aber in der Abfrage, die Sie verwenden möchtenaddresses
?