定义
cursor.returnKey()重要
mongosh 方法
This page documents a
mongoshmethod. This is not the documentation for a language-specific driver, such as Node.js.如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
提示
$metasupports the keyword"indexKey"to return index key metadata if an index is used. The use of{ $meta: "indexKey" }is preferred overcursor.returnKey().修改游标以返回索引键而不是文档。
The
cursor.returnKey()has the following form:cursor.returnKey() 返回: The cursor that
returnKey()is attached to with a modified result set. This allows for additional cursor modifiers to be chained.
兼容性
此方法可用于以下环境中托管的部署:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
注意
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
行为
如果查询未使用索引来执行读取操作,则游标将返回空文档。
例子
restaurantscollection包含具有以下模式的文档:
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" } )
除collection的默认_id索引外,还有两个索引:
{ "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 }
The following code uses the cursor.returnKey() method to return only the indexed fields used for executing the query:
var csr = db.restaurant.find( { "cuisine" : "Japanese" } ) csr.returnKey()
这将返回以下内容:
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...