Definición
WriteResult()Un contenedor que contiene el estado del resultado de
mongoshmétodos de guardar.Nota
db.collection.insert()ydb.collection.update()están obsoletos.Los resultados devueltos por los métodos de reemplazo tienen un formato diferente. Para obtener una salida similar a
WriteResult(), considera usardb.collection.bulkWrite().
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 WriteResult() tiene las siguientes propiedades:
WriteResult.nInsertedNúmero de documentos insertados, excluyendo
upserteddocumentos. Consulte para conocer el número de documentos insertados medianteWriteResult.nUpsertedupsert.
WriteResult.nMatchedEl número de documentos seleccionados para actualizar. Si la operación de actualización no da lugar a ningún cambio en el documento, por ejemplo, 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 inserción.
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.writeError.errInfoUn documento que contiene información sobre cualquier error de escritura, excluyendo errores de nivel de confirmación de escritura (write concern), que se encontraron durante la operación de escritura. Cuando una operación falla la validación del esquema, el servidor produce un error bajo este campo explicando por qué el documento no coincidió con la expresión de validación de la colección.
WriteResult.writeConcernErrorDocumento que describe los errores relacionados con el nivel de confirmación de escritura (write concern).
Cambiado en la versión 7.0.6: (también disponible en 6.0.14 y 5.0.30): Cuando se recibe
WriteResult()demongos, los errores de nivel de confirmación de escritura (write concern) siempre se reportan, incluso cuando ocurre uno o más errores de escritura. En versiones anteriores, la ocurrencia de errores de escritura podría hacer que laWriteResult()no informara errores de nivel de confirmación de escritura (write concern).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).