Definición
WriteResult()Un contenedor que contiene el estado del resultado de
mongoshescribir métodos.Nota
db.collection.insert()ydb.collection.update()están obsoletos.Los resultados devueltos por los métodos de reemplazo tienen un formato diferente. Para una salida similar a,
WriteResult()consideredb.collection.bulkWrite()usar.
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
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.
Propiedades
El tiene las siguientes WriteResult() propiedades:
WriteResult.nInsertedNúmero de documentos insertados, excluyendo
upserteddocumentos. Consulte para conocer el número de documentos insertados medianteWriteResult.nUpsertedupsert.
WriteResult.nMatchedNúmero de documentos seleccionados para actualizar. Si la operación de actualización no produce cambios en el documento (p. ej., la expresión
$setactualiza el valor al valor actual),nMatchedpuede ser mayor quenModified.
WriteResult.nModifiedEl número de documentos existentes actualizados. Si la operación de actualización/reemplazo no produce ningún cambio en el documento, como establecer el valor del campo en su valor actual,
nModifiedpuede ser inferior anMatched.
WriteResult.nUpsertedEl número de documentos insertados por una operación upsert.
WriteResult._idEl
_iddel documento insertado por unupsert. Se devuelve solo si unupsertresulta en una inserción.
WriteResult.writeErrorUn documento que contiene información sobre cualquier error, excluidos los errores de escritura, encontrados durante la operación de escritura.
WriteResult.writeConcernErrorDocumento que describe los errores relacionados con el nivel de confirmación de escritura (write concern).
Modificado en la versión 7.0.6: (también disponible en 6.0.14 y 5.0.30): Cuando se recibe
WriteResult()demongos, siempre se informan errores de escritura, incluso si se producen uno o más. En versiones anteriores, la ocurrencia de errores de escritura podía provocar queWriteResult()no informara errores de escritura.Cada documento de error contiene los siguientes campos:
WriteResult.writeConcernError.codeValor entero que identifica la causa del error del nivel de confirmación de escritura (write concern).
WriteResult.writeConcernError.errmsgUna descripción de la causa del error de nivel de confirmación de escritura (write concern).
WriteResult.writeConcernError.errInfo.writeConcernEl objeto del nivel de confirmación de escritura (write concern) usado para la operación correspondiente. Para obtener información sobre los campos del objeto de nivel de confirmación de escritura (write concern), se puede consultar Especificación de nivel de confirmación de escritura (write concern).
El objeto del nivel de confirmación de escritura (write concern) también puede contener el siguiente campo, que indica el origen del nivel de confirmación de escritura (write concern):
WriteResult.writeConcernError.errInfo.writeConcern.provenanceUn valor de string que indica dónde se originó el nivel de confirmación de escritura (write concern) (conocido como nivel de confirmación de escritura (write concern)
provenance). La siguiente tabla muestra los valores posibles para este campo y su significado:OrigenDescripciónclientSuppliedEl nivel de confirmación de escritura se especificó en la aplicación.
customDefaultEl nivel de confirmación de escritura se originó a partir de un valor por defecto personalizado. Vea
setDefaultRWConcern.getLastErrorDefaultsEl nivel de confirmación de escritura se originó en el campo
settings.getLastErrorDefaultsdel set de réplicas.implicitDefaultEl nivel de confirmación de escritura (write concern) se originó en el servidor en ausencia de todas las demás especificaciones de nivel de confirmación de escritura (write concern).