私はMongoDBに次のドキュメントを持っています...
{
"_id" : ObjectId("531221cd960100960116b992"),
"username : "joe",
"address" : [
{
"Zip" : "8000",
"city" : "Zurich"
},
{
"Zip" : "6900",
"city" : "Lugano"
}
]
}
...そして2番目のアドレスを取得するには、次のステートメントを使用します。
db.users.find({ _id: ObjectId("531221cd960100960116b992") }, { addresses: { $slice: [0, 1] } } )
これは、オブジェクトIDも返すことを除いて機能します。
{ "addresses" : [ { "Zip" : "6900", "city" : "Lugano" } ], "_id" : ObjectId("531221cd960100960116b992") }
MongoDBがオブジェクトIDを返さないようにするにはどうすればよいですか? _id : 0
...のような射影を提供する必要があることはわかっていますが、上記の式のどこに配置すればよいですか?私は何度も試みました...しかし成功しませんでした。
ありがとう。
これは@hanleyhansenの答えとまったく同じですが、次のように0とfalseを同じ意味で使用できることをお知らせします。
db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': 0} )
パス
_{'_id': false}
_
find()
へのパラメータとして
_db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': false} )
_