cursor.returnKey()
Nesta página
Definição
cursor.returnKey()
Importante
Método mongosh
Esta página documenta um método
mongosh
. Esta não é a documentação de um driver de idioma específico, como Node.js.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
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.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
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
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" } ...