Tip
MongoDB también proporciona la db.collection.bulkWrite() Método para realizar operaciones de escritura masiva.
Definición
db.collection.initializeUnorderedBulkOp()Importante
Método mongosh
Esta página documenta una
mongoshMétodo. Esta no es la documentación de un controlador específico del 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
Bulk()operaciones para una colección. El generador construye una lista desordenada de operaciones de escritura que MongoDB ejecuta en bloque.
Compatibilidad
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.
Comportamiento
Orden de operación
Con una lista de operaciones desordenadas, MongoDB puede ejecutar en paralelo las operaciones de escritura en la lista y en cualquier orden. Si el orden de las operaciones es importante, db.collection.initializeOrderedBulkOp() utilice.
Ejecución de operaciones
Al ejecutar una lista de operaciones, MongoDB las agrupa. Con una operación masiva desordenada, las operaciones de la lista unordered unordered pueden reordenarse para mejorar el rendimiento. Por lo tanto, las aplicaciones no deberían depender del orden al realizar operaciones masivas.
Bulk() Las operaciones en mongosh y los métodos comparables en los controladores no tienen límite en el número de operaciones por grupo. Para ver cómo se agrupan las operaciones para la ejecución Bulk.getOperations() masiva, llame a después de la ejecución.
Error Handling
Si se produce un error durante el procesamiento de una de las operaciones de guardado, MongoDB continuará procesando las operaciones de guardado restantes en la lista.
Ejemplo
Lo siguiente inicializa un generador de operaciones y agrega una serie de operaciones de inserción para agregar múltiples Bulk() documentos:
var bulk = db.users.initializeUnorderedBulkOp(); 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.execute();