cursor.returnKey()
定义
cursor.returnKey()
重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是特定于语言的驱动程序(例如 Node.js)的文档。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
提示
如果使用了索引,
$meta
支持关键字"indexKey"
返回索引键元数据。 优先使用{ $meta: "indexKey" }
而非cursor.returnKey()
。修改游标以返回索引键而不是文档。
cursor.returnKey()
具有以下形式:cursor.returnKey() 返回: returnKey()
附加到修改后的结果集的 游标 。这允许链接其他游标修饰符。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
行为
如果查询未使用索引来执行读取操作,则游标将返回空文档。
例子
restaurants
collection包含具有以下模式的文档:
{ "_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 }
以下代码使用cursor.returnKey()
方法仅返回用于执行查询的索引字段:
var csr = db.restaurant.find( { "cuisine" : "Japanese" } ) csr.returnKey()
这将返回以下内容:
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...