定義
cursor.returnKey()Tip
は、インデックスが使用されている場合にインデックスキーメタデータを返すために
$metaキーワード"indexKey"{ $meta: "indexKey" }をサポートしています。は、 よりもcursor.returnKey()の使用が優先されます。カーソルを変更して、ドキュメントではなくインデックス キーを返します。
cursor.returnKey()の形式は次のとおりです。cursor.returnKey() 次の値を返します。 returnKey()変更された結果セットを持つ がアタッチされているカーソル。これにより、追加のカーソル修飾子を連鎖させることができます。
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでのMongoDB配置のためのフルマネージド サービスです
注意
このコマンドは、すべてのMongoDB Atlasクラスターでサポートされています。すべてのコマンドの Atlas サポートの詳細については、「 サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
動作
クエリがインデックスを使用して読み取り操作を実行しない場合、カーソルは空のドキュメントを返します。
例
restaurantsコレクションには、次のスキーマを持つドキュメントが含まれています。
db.restaurants.insertOne( { _id: ObjectId("564f3a35b385149fc7e3fab9"), address: { building: "2780", coord: [ -73.98241999999999, 40.579505 ], street: "Stillwell Avenue", zipcode: "11224" }, borough: "Brooklyn", cuisine: "American ", grades: [ { date: ISODate("2014-06-10T00:00:00Z"), grade: "A", score: 5 }, { date: ISODate("2013-06-05T00:00:00Z"), grade: "A", score: 7 } ], name: "Riviera Caterer", restaurant_id: "40356018" } )
コレクションには、デフォルトの_idインデックスに加えて 2 つのインデックスがあります。
{ "v" : 1, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "guidebook.restaurant" }, { "v" : 1, "key" : { "cuisine" : 1 }, "name" : "cuisine_1", "ns" : "guidebook.restaurant" }, { "v" : 1, "key" : { "_fts" : "text", "_ftsx" : 1 }, "name" : "name_text", "ns" : "guidebook.restaurant", "weights" : { "name" : 1 }, "default_language" : "english", "language_override" : "language", "textIndexVersion" : 3 }
次のコードでは、cursor.returnKey() メソッドを使用して、クエリの実行に使用されるインデックス付きフィールドのみを返します。
var csr = db.restaurant.find( { "cuisine" : "Japanese" } ) csr.returnKey()
これにより、以下が返されます。
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...