Definición
Parámetros
$documents: arreglo- Los documentos que se insertarán en la colección.
$options: arregloUna matriz que especifica las opciones deseadas.
NombreTipoDescripciónbypassDocumentValidation
booleano
Si es
true, permite que la operación de escritura evite la validación a nivel de documento. El valor predeterminado esfalse.códec
MongoDB\Codec\DocumentCodec
La Codificar datos con códecs de tipo para codificar o decodificar documentos. Esta opción es mutuamente excluyente con la
typeMapopción.El valor predeterminado es el códec de la colección. La herencia de la opción predeterminada
codecprevalece sobre la de la opcióntypeMap.Novedad en la versión 1.17.
comment
mixto
Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través de generador de perfilesde base de datos, salidacurrentOpy registros.
Esta opción está disponible desde MongoDB 4.4 y, si se especifica para una versión de servidor anterior, dará lugar a una excepción en tiempo de ejecución.
Novedades en la versión 1.13.
ordenado
booleano
Si
true: cuando un solo guardado falla, la operación se detendrá sin realizar los guardados restantes y lanzará una excepción.Si
false: cuando una sola acción de guardar falla, la operación continuará con las acciones de guardar restantes, si las hay, y lanzará una excepción.El valor es por defecto
true.sesión
Sesión de cliente para asociar a la operación.
Nueva en la versión 1.3.
writeConcern
nivel de confirmación de escritura (write concern) a usar en la operación. Por defecto, se aplica el nivel de confirmación de escritura (write concern) de la colección.
No es posible especificar una preocupación de escritura para operaciones individuales como parte de una transacción. En su lugar, configure la
writeConcernopción al iniciar la transacción.
Return Values
Un objeto MongoDB\InsertManyResult, que encapsula un objeto MongoDB\Driver\WriteResult.
Errores/Excepciones
MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.
MongoDB\Driver\Exception\BulkWriteException para errores relacionados con la operación de escritura. Los usuarios deben inspeccionar el valor devuelto por getWriteResult() para determinar la naturaleza del error.
MongoDB\Driver\Exception\RuntimeException para otros errores en el nivel de extensión (por ejemplo, errores de conexión).
Comportamiento
Si se lanza una MongoDB\Driver\Exception\BulkWriteException, los usuarios deben llamar a getWriteResult() e inspeccionar el objeto MongoDB\Driver\WriteResult devuelto para determinar la naturaleza del error.
Por ejemplo, es posible que una operación de escritura se haya ejecutado correctamente en el servidor principal, pero no haya solucionado el problema (p. ej., la replicación tardó demasiado). También es posible que una operación de escritura haya fallado por completo (p. ej., violación de clave única).
En el caso de una escritura masiva, el resultado puede indicar múltiples operaciones de guardado exitosas y/o errores. Si la opción ordered está true, algunas operaciones pueden haberse realizado con éxito antes de que se encontrara el primer error y se lanzara la excepción. Si la opción ordered es false, pueden haberse producido múltiples errores.
Ejemplo
La siguiente operación inserta dos documentos en la colección users de la base de datos test:
$collection = (new MongoDB\Client)->test->users; $insertManyResult = $collection->insertMany([ [ 'username' => 'admin', 'email' => 'admin@example.com', 'name' => 'Admin User', ], [ 'username' => 'test', 'email' => 'test@example.com', 'name' => 'Test User', ], ]); printf("Inserted %d document(s)\n", $insertManyResult->getInsertedCount()); var_dump($insertManyResult->getInsertedIds());
La vista de salida se ilustraría como sigue:
Inserted 2 document(s) array(2) { [0]=> object(MongoDB\BSON\ObjectId)#11 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518141" } [1]=> object(MongoDB\BSON\ObjectId)#12 (1) { ["oid"]=> string(24) "579a25921f417dd1e5518142" } }
Ver también
insertar referencia de comandos en el manual de MongoDB