web-dev-qa-db-ja.com

ドキュメントの検索時にMongoDBがオブジェクトIDを返さないようにするにはどうすればよいですか?

私は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...のような射影を提供する必要があることはわかっていますが、上記の式のどこに配置すればよいですか?私は何度も試みました...しかし成功しませんでした。

ありがとう。

12
j3d

これは@hanleyhansenの答えとまったく同じですが、次のように0とfalseを同じ意味で使用できることをお知らせします。

db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': 0} )
8
Anand Jayabalan

パス

_{'_id': false}
_

find()へのパラメータとして

_db.users.find({ _id: ObjectId("531221cd960100960116b992")}, { addresses: { $slice: [0, 1] } ,'_id': false} )
_
9
hanleyhansen