Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

cursor.returnKey()

Nesta página

  • Definição
  • Comportamento
  • Exemplo
cursor.returnKey()

Importante

Método mongosh

Esta página documenta um método mongosh . Esta não é a documentação para um driver específico de idioma, como Node.js.

Para drivers de API do MongoDB, consulte a documentação do driver 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 a cursor.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.

Se a query não usar um índice para executar a operação de leitura, o cursor retornará documentos vazios.

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" }
...
← cursor.readPref()