cursor.returnKey()
Nesta página
Definição
cursor.returnKey()
Importante
Método mongosh
Este é um método
mongosh
. Esta não é a documentação deNode.js
ou de outros métodos de driver específicos da linguagem de programação.Na maioria dos casos, os métodos
mongosh
funcionam da mesma forma que os métodos legado do shellmongo
. No entanto, alguns métodos legado não estão disponíveis emmongosh
.Para a documentação do shell legado
mongo
, consulte a documentação para a release correspondente do MongoDB Server:Para drivers da API do MongoDB, consulte a documentação do driver do MongoDB específica do idioma.
Dica
$meta
suporta a palavra-chave"indexKey"
para retornar metadados da chave do índice se um índice for usado. O uso de{ $meta: "indexKey" }
é preferível acursor.returnKey()
.Modifica o cursor para retornar as chaves de índice em vez dos documentos.
cursor.returnKey()
tem o seguinte formato:cursor.returnKey() Retorna: O cursor ao qual returnKey()
está anexado com um conjunto de resultados modificado. Isso permite que modificadores adicionais de cursor sejam encadeados.
Comportamento
Se a query não usar um índice para executar a operação de leitura, o cursor retornará documentos vazios.
Exemplo
A collection restaurants
contém documento com o seguinte esquema:
{ "_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" }
A collection tem dois índices além do índice _id
padrão:
{ "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 }
O código a seguir usa o método cursor.returnKey()
para retornar somente os campos indexados usados para executar a query:
var csr = db.restaurant.find( { "cuisine" : "Japanese" } ) csr.returnKey()
Isso retorna o seguinte:
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...