Definición
WriteResult()Un contenedor que contiene el estado del resultado de los
mongoshmétodos de escritura.Nota
db.collection.insert()ydb.collection.update()están obsoletos.Los resultados que devuelven 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
upsertedlos documentos. Consulte para ver el número de documentos insertados mediante una operaciónWriteResult.nUpsertedupsert.
WriteResult.nMatchedNúmero de documentos seleccionados para actualizar. Si la operación de actualización no produce ningún cambio en el documento, por ejemplo, la expresión
$setactualiza el valor al valor actual,nMatchedpuede ser mayor quenModified.
WriteResult.nModifiedNúmero de documentos existentes actualizados. Si la operación de actualización/reemplazo no produce ningún cambio en el documento, como por ejemplo establecer el valor del campo a su valor actual, puede ser
nModifiedmenornMatchedque.
WriteResult.nUpsertedEl número de documentos insertados por una inserción.
WriteResult._idLa
_iddel documento insertado por unupsert. Se devuelve solo si seupserten una inserción.
WriteResult.writeErrorUn documento que contiene información sobre cualquier error, excluyendo los errores de nivel de confirmación de escritura (write concern), encontrado 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).
Modificado en la versión 7.0.6:
(Tambiéndisponible 6.0.14 en 5.0.30 y): Cuando
WriteResult()se recibemongosde, siempre se informan errores de escritura, incluso cuando se produce uno o más errores de escritura. En versiones anteriores, la aparición de errores de escritura podía provocar queWriteResult()no informara de errores de escritura.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).