9.3. Consulta de documentos en MongoDB: uso del método findOne()
Página 29 | Escuchar en audio
MongoDB es una base de datos NoSQL de código abierto que proporciona soporte de alto rendimiento, alta disponibilidad y fácil escalabilidad. Trabaja sobre el concepto de colecciones y documentos. En este capítulo, discutiremos cómo consultar documentos de una colección en MongoDB.
Una de las operaciones más comunes que deberá realizar en una base de datos MongoDB es la consulta de documentos. Consultar es el proceso de recuperar documentos de una colección. MongoDB proporciona varios métodos para realizar esta tarea, uno de los cuales es el método findOne()
.
El método findOne()
se utiliza para devolver un único documento que cumple con los criterios especificados. Si varios documentos coinciden con los criterios, este método devuelve el primer documento según el orden natural, que refleja el orden de los documentos en el disco.
La sintaxis básica del método findOne()
es la siguiente:
db.collection.findOne (consulta, proyección)
Dónde:
db
es la base de datos actual.colección
es la colección en la que buscas el documento.consulta
es un documento que especifica las condiciones de búsqueda. Este es un parámetro opcional.proyección
es un documento que especifica los campos que se devolverán en el documento resultante. Este es un parámetro opcional.
Supongamos que tenemos la siguiente colección de documentos:
{ "_id": 1, "nombre": "María", "edad": 25, "profesión": "Ingeniero" }, { "_id": 2, "nombre": "Juan", "edad": 30, "profesión": "médico" }, { "_id": 3, "nombre": "Ana", "edad": 35, "profesión": "Abogado" }
Si queremos encontrar el documento donde el campo "nombre" es "Maria", podemos usar el método findOne()
de la siguiente manera:
db.collection.findOne({"nombre": "María"})
El resultado será el primer documento que coincida con la consulta:
{ "_id": 1, "nombre": "María", "edad": 25, "profesión": "Ingeniero" }
Ahora, digamos que queremos devolver sólo el campo "profesión" en el documento resultante. Podemos hacer esto especificando el campo "profesión" en el parámetro de proyección:
db.collection.findOne({"nombre": "María"}, {"profesión": 1})
El resultado será:
{ "_id": 1, "profesión": "Ingeniero" }
Tenga en cuenta que el campo "_id" siempre se devuelve a menos que lo excluya explícitamente.
El método findOne()
es extremadamente útil para recuperar un único documento de una colección. Sin embargo, recuerda que devuelve el primer documento que coincide con la consulta. Si necesita recuperar todos los documentos que coinciden con la consulta, debe utilizar el método find()
.
En resumen, MongoDB proporciona una variedad de métodos para consultar documentos, cada uno con sus propios usos y ventajas. El método findOne()
es solo uno de estos métodos, pero es uno de los más utilizados debido a su simplicidad y efectividad.
Ahora responde el ejercicio sobre el contenido:
¿Qué método de MongoDB se utiliza para devolver un único documento que cumple con los criterios especificados y, si varios documentos coinciden con los criterios, devuelve el primer documento según el orden natural?
¡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: