10.7. Actualización de documentos en MongoDB: uso del comando findAndModify en MongoDB

Página 51

En cualquier aplicación de base de datos, una de las operaciones más comunes es la actualización de registros. En MongoDB, puedes hacer esto usando el comando findAndModify. Este comando es muy útil porque te permite buscar y actualizar un documento en una sola operación.

Para comprender mejor cómo funciona el comando findAndModify, consideremos un ejemplo. Supongamos que tenemos una colección llamada 'estudiantes' con el siguiente documento:

{
    "_id": ObjetoId("5f6d1a87e87a5e3a3cfebae8"),
    "nombre": "John Doe",
    "edad": 20,
    "cursos" : ["Matemáticas", "Ciencias"]
}

Si queremos actualizar la edad de John Doe a 21, podemos usar el comando findAndModify de la siguiente manera:

db.estudiantes.findAndModify({
    consulta: { nombre: "John Doe" },
    actualización: { $conjunto: { edad: 21 } }
});

El comando anterior busca un documento en la colección 'estudiantes' donde el campo 'nombre' es igual a 'John Doe'. Luego actualiza la antigüedad de ese documento a 21.

Una cosa importante a tener en cuenta sobre el comando findAndModify es que devuelve el documento antes de actualizarlo de forma predeterminada. Si desea que devuelva el documento después de la actualización, puede pasar la opción "nueva" como verdadera. Por ejemplo:

db.estudiantes.findAndModify({
    consulta: { nombre: "John Doe" },
    actualización: { $conjunto: { edad: 21 } },
    nuevo: verdadero
});

Otra opción útil que puede pasar al comando findAndModify es 'upsert'. Si configura 'upsert' en verdadero, MongoDB creará un nuevo documento si ningún documento coincide con la consulta. Por ejemplo:

db.estudiantes.findAndModify({
    consulta: { nombre: "Jane Doe" },
    actualización: { $conjunto: { edad: 22 } },
    nuevo: cierto,
    insertar: verdadero
});

En el comando anterior, si no hay ningún documento donde el campo 'nombre' sea igual a 'Jane Doe', MongoDB creará un nuevo documento con 'nombre' como 'Jane Doe' y 'edad' como 22.< /p>p>

El comando findAndModify también le permite actualizar varios campos a la vez. Por ejemplo, si queremos actualizar la edad de John Doe a 21 y agregar 'inglés' a la lista de cursos que está tomando, podemos hacerlo así:

db.estudiantes.findAndModify({
    consulta: { nombre: "John Doe" },
    actualización: { $set: { edad: 21 }, $push: { cursos: "Inglés" } },
    nuevo: verdadero
});

Además, el comando findAndModify le permite utilizar operadores de actualización de MongoDB como $set, $inc, $push, $pull, etc. Esto hace que el comando findAndModify sea una herramienta muy poderosa para actualizar documentos en MongoDB.

En resumen, el comando findAndModify es una forma eficaz de buscar y actualizar documentos en MongoDB. Ofrece muchas opciones que le permiten personalizar el comportamiento de la operación de actualización, lo que la convierte en una herramienta esencial para cualquier desarrollador de MongoDB.

Comprender cómo utilizar comandos como findAndModify es fundamental para trabajar eficazmente con MongoDB. Al dominar estas técnicas, podrá crear y mantener bases de datos MongoDB eficientes y de alto rendimiento.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es la función del comando findAndModify en MongoDB?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

5210.8. Actualización de documentos en MongoDB: mejores prácticas para actualizar documentos en MongoDB

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.