Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

killCursors (comando de base de datos)

killCursors

Kills the specified cursor or cursors for a collection. MongoDB drivers use the killCursors command as part of the client-side cursor implementation.

Advertencia

Normalmente, las aplicaciones no deberían ejecutar el comando killCursors directamente. En su lugar, dejar que el driver gestione automáticamente la gestión del cursor.

El comando killCursors debe ser ejecutado en la base de datos de la colección cuyos cursores desea terminar.

Para ejecutar killCursors, utiliza el método db.runCommand( { <command> } ).

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

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

  • 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.

El comando tiene la siguiente sintaxis:

db.runCommand(
{
killCursors: <collection>,
cursors: [ <cursor id1>, ... ], comment: <any>
}
)

El comando toma los siguientes campos:

Campo
Tipo
Descripción

killCursors

string

El nombre de la colección.

cursors

arreglo

Los identificadores de los cursores que se deben eliminar.

comment

any

Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:

Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.).

Los usuarios siempre pueden eliminar sus propios cursores, independientemente de si tienen el privilegio killCursors. Los cursores se asocian con los usuarios en el momento de la creación del cursor.

Si un usuario tiene el privilegio killAnyCursor, puede terminar cursores creados por cualquier usuario.

You cannot specify the killCursors command as the first operation in a transaction.

Además, si ejecutas el comando killCursors dentro de una transacción, el servidor detiene inmediatamente los cursores especificados. No espera la confirmación de la transacción.

Considere la siguiente find operación en la colección test.restaurants:

use test
db.runCommand(
{ find: "restaurants",
filter: { stars: 5 },
projection: { name: 1, rating: 1, address: 1 },
sort: { name: 1 },
batchSize: 5
}
)

el cual devuelve lo siguiente:

{
"waitedMS" : Long(0),
"cursor" : {
"firstBatch" : [
{
"_id" : ObjectId("57506d63f578028074723dfd"),
"name" : "Cakes and more"
},
{
"_id" : ObjectId("57506d63f578028074723e0b"),
"name" : "Pies and things"
},
{
"_id" : ObjectId("57506d63f578028074723e1d"),
"name" : "Ice Cream Parlour"
},
{
"_id" : ObjectId("57506d63f578028074723e65"),
"name" : "Cream Puffs"
},
{
"_id" : ObjectId("57506d63f578028074723e66"),
"name" : "Cakes and Rolls"
}
],
"id" : Long("18314637080"),
"ns" : "test.restaurants"
},
"ok" : 1
}

To kill this cursor, use the killCursors command.

use test
db.runCommand( { killCursors: "restaurants", cursors: [ Long("18314637080") ] } )

killCursors devuelve los siguientes detalles de la operación:

{
"cursorsKilled" : [
Long("18314637080")
],
"cursorsNotFound" : [ ],
"cursorsAlive" : [ ],
"cursorsUnknown" : [ ],
"ok" : 1
}