Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Operaciones masivas

db.colección.initializeOrderedBulkOp() (método mongosh)

Tip

MongoDB también provee la db.collection.bulkWrite() método para realizar operaciones de escritura masiva.

db.collection.initializeOrderedBulkOp()

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.

Inicializa y devuelve un nuevo generador de operaciones Bulk() para una colección. El constructor crea una lista ordenada de operaciones de guardar que MongoDB ejecuta en lote.

Devuelve:nuevo objeto generador de Bulk() operaciones.

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

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.

Con una lista de operaciones ordenadas, MongoDB ejecuta las operaciones de guardar en la lista de forma secuencial.

Al ejecutar una lista de operaciones ordered, MongoDB agrupa las operaciones por el operation type y la contigüidad; es decir, las operaciones contiguas del mismo tipo se agrupan juntas. Por ejemplo, si una lista ordenada tiene dos operaciones de inserción seguidas de una operación de actualización y luego otra operación de inserción, MongoDB agrupa las operaciones en tres grupos separados: el primer grupo contiene las dos operaciones de inserción, el segundo grupo contiene la operación de actualización y el tercer grupo contiene la última operación de inserción. Este comportamiento está sujeto a cambios en futuras versiones.

Las Bulk() operaciones en mongosh y métodos comparables en los drivers no tienen límite para el número de operaciones en un grupo. Para ver cómo se agrupan las operaciones para la ejecución masiva de operaciones, llamar a Bulk.getOperations() después de la ejecución.

Ejecutar una ordered lista de operaciones en una colección particionada generalmente será más lento que ejecutar una unordered lista, ya que con una lista ordenada, cada operación debe esperar que se complete la operación anterior.

Si se produce un error durante el procesamiento de una de las operaciones de escritura, MongoDB devolverá sin procesar las operaciones de escritura restantes en la lista.

Lo siguiente inicializa un Bulk() generador users de operaciones en la colección, agrega una serie de operaciones de escritura y ejecuta las operaciones:

var bulk = db.users.initializeOrderedBulkOp();
bulk.insert( { user: "abc123", status: "A", points: 0 } );
bulk.insert( { user: "ijk123", status: "A", points: 0 } );
bulk.insert( { user: "mop123", status: "P", points: 0 } );
bulk.find( { status: "D" } ).delete();
bulk.find( { status: "P" } ).update( { $set: { comment: "Pending" } } );
bulk.execute();

Volver

Operaciones masivas

En esta página