Definición
cursor.returnKey()Importante
Método mongosh
Esta página documenta un método
mongosh. Esta no es la documentación para un driver específico de 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 la clave de índice si se utiliza un índice. Se prefiere el uso de{ $meta: "indexKey" }cursor.returnKey()a.Modifica el cursor para devolver las claves del índice en lugar de los documentos.
El tiene la siguiente
cursor.returnKey()forma:cursor.returnKey() Devuelve: El cursor al que returnKey()está unido con un conjunto de resultados modificado. Esto permite que se encadenen modificadores adicionales de cursor.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado 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 el soporte de Atlas para 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 consulta 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 predeterminado _id:
{ "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 para devolver solo los campos indexados utilizados para ejecutar la cursor.returnKey() consulta:
var csr = db.restaurant.find( { "cuisine" : "Japanese" } ) csr.returnKey()
Esto devuelve lo siguiente:
{ "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } { "cuisine" : "Japanese" } ...