cursor.returnKey()
定义
cursor.returnKey()
重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是 特定于语言的驱动程序(例如 Node.js)的文档。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
提示
$meta
supports the keyword"indexKey"
to return index key metadata if an index is used. The use of{ $meta: "indexKey" }
is preferred overcursor.returnKey()
。修改游标以返回索引键而不是文档。
cursor.returnKey()
具有以下形式: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:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
行为
If the query does not use an index to perform the read operation, the cursor returns empty documents.
例子
The restaurants
collection contains documents with the following schema:
{ "_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" }
The collection has two indexes in addition to the default _id
index:
{ "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()
This returns the following:
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...