Definición
cursor.returnKey()Importante
Método mongosh
Esta página documenta un método
mongosh. No se trata de la documentación de un controlador específico de un lenguaje, como Node.js.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Tip
$metaadmite la palabra clave"indexKey"para devolver metadatos de clave de índice si se utiliza un índice. Se prefiere el uso de{ $meta: "indexKey" }sobrecursor.returnKey().Modifica el cursor para devolver las claves del índice en lugar de los documentos.
El
cursor.returnKey()tiene la siguiente forma:cursor.returnKey() Devuelve: El cursor al que está asociado
returnKey()con un conjunto de resultados modificado. Esto permite encadenar modificadores de cursor adicionales.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
- MongoDB Atlas: El servicio totalmente administrado para implementaciones de MongoDB en la nube.
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre la compatibilidad de Atlas con todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
Si la query no utiliza un índice para realizar la operación de lectura, el cursor devuelve documentos vacíos.
Ejemplo
La colección restaurants contiene documentos con el siguiente 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" } )
La colección tiene dos índices además del índice _id por defecto:
{ "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 }
El siguiente código utiliza el método cursor.returnKey() para devolver únicamente los campos indexados utilizados para ejecutar la consulta:
var csr = db.restaurant.find( { "cuisine" : "Japanese" } ) csr.returnKey()
Esto devuelve lo siguiente:
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...