Indexación y búsqueda en MongoDB
Indexar es un aspecto importante para mejorar el rendimiento de las consultas en bases de datos MongoDB.
MongoDB almacena documentos JSON flexibles. Esta operación encaja en el flujo consultar → filtrar → transformar → agregar que verás en el tutorial completo.
Prueba en el editor y adapta los campos del documento a tu caso de uso.
Crear un índice en MongoDB
Los índices en MongoDB son esenciales para mejorar la velocidad de las consultas. Puedes crear índices en una o varias propiedades de tus documentos. Vamos a crear un índice en una colección llamada
tu_coleccion
en la propiedad
nombre
.
Ejemplo
async function crearIndice() {
const collection = client.db("tu_base_de_datos").collection("tu_coleccion");
try {
const resultado = await collection.createIndex({ nombre: 1console.log("Índice creado exitosamente:", resultado);
} catch (error) {
console.error("Error al crear el índice:", error);
}
}
crearIndice();
En este ejemplo, hemos creado un índice ascendente en la propiedad
nombre
de los documentos en la colección. El valor
1
indica un índice ascendente, y
-1
sería para un índice descendente.
Ejecutar una consulta en MongoDB
Ahora que hemos creado un índice, podemos ejecutar consultas para buscar datos de manera más eficiente. Aquí hay un ejemplo de cómo ejecutar una consulta utilizando el índice que creamos.
Ejemplo
async function buscarDocumentos() {
const collection = client.db("tu_base_de_datos").collection("tu_coleccion");
try {
const resultado = await collection.find({ nombre: "Ejemplo" }).toArray();
console.log("Documentos encontrados:", resultado);
} catch (error) {
console.error("Error al buscar documentos:", error);
}
}
buscarDocumentos();
En este caso, estamos buscando documentos en la colección
tu_coleccion
donde el campo
nombre
sea igual a "Ejemplo". Debido al índice que creamos en la propiedad
nombre
, la búsqueda debería ser más eficiente.
Consejos y notas :
- Los índices deben crearse cuidadosamente según las consultas más comunes que ejecutarás. Crear demasiados índices puede tener un impacto negativo en el rendimiento.
- MongoDB admite varios tipos de índices, como índices compuestos, geoespaciales y de texto completo. Puedes elegir el tipo de índice que se adapte a tus necesidades.
-
La función
toArray()se utiliza para convertir el resultado de la consulta en un array de documentos.
La indexación es una parte esencial de la optimización de consultas en MongoDB. Asegúrate de crear índices adecuados para tus consultas para garantizar un rendimiento óptimo en tu aplicación.
Resumen
- Repasa el ejemplo principal y varíalo con tus propios datos.
- Continúa con la lección siguiente del tutorial.