Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

cursor.returnKey() (método mongosh)

cursor.returnKey()

Importante

Método mongosh

This page documents a mongosh method. This is not the documentation for a language-specific driver, such as Node.js.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

Dica

$meta supports the keyword "indexKey" to return index key metadata if an index is used. The use of { $meta: "indexKey" } is preferred over cursor.returnKey().

Modifica o cursor para retornar as chaves de índice em vez dos documentos.

The cursor.returnKey() has the following form:

cursor.returnKey()
Retorna:

The cursor that returnKey() is attached to with a modified result set. This allows for additional cursor modifiers to be chained.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Observação

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

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:

db.restaurants.insertOne(
{
_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
}

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()

Isso retorna o seguinte:

{ "cuisine" : "Japanese" }
{ "cuisine" : "Japanese" }
{ "cuisine" : "Japanese" }
{ "cuisine" : "Japanese" }
...