cursor.returnKey()
在本页面
Definition
cursor.
returnKey
( )- 3.2 版中的新功能。
修改光标以返回索引键而不是文档。
cursor.returnKey()的格式如下:
cursor.returnKey()
Returns: | returnKey()附加到的cursor具有修改后的结果集。这允许链接其他光标修饰符。 |
---|
Behavior
如果查询不使用索引执行读取操作,则游标将返回空文档。
Example
restaurants
集合包含具有以下架构的文档:
{
"_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
索引外,该集合还有两个索引:
{
"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" }
...