Al igual que con cualquier base de datos, los índices son estructuras de datos esenciales en MongoDB. Fomentan consultas sencillas en la base de datos y le permiten almacenar y organizar una parte de su colección en campos únicos. Los índices también admiten consultas de rango sin problemas.
Si su aplicación usa MongoDB, desea aprovechar el poder de los índices para hacer sus consultas más rápidas y eficientes. Entonces, ¿qué son los índices en MongoDB y cómo se pueden crear?
¿Qué son los índices en MongoDB?
Los índices en MongoDB le permiten priorizar algunos campos en un documento y convertirlos en parámetros de consulta más adelante. Al crear una colección, MongoDB crea un índice de ID predeterminado. Pero puede agregar más si tiene más consultas o necesidades de organización.
Los índices únicos también evitan los duplicados durante la entrada de datos. Resultan útiles para rechazar entradas que ya existen en la base de datos. Por lo tanto, puede usar una indexación única en nombres de usuario y campos de correo electrónico, por ejemplo.
Los índices lo ayudan a obtener específicamente lo que desea utilizando su formato de consulta definido en la cantidad requerida sin escanear una colección completa. Al crear un índice, puede especificar cómo desea que se ordenen sus datos cada vez que lo consulte.
Por ejemplo, si decide ordenar los puntos de datos por sus fechas de entrada sin utilizar un índice, normalmente proporcionará criterios de consulta y orden de clasificación.
Supongamos que desea organizar las edades superiores a un cierto número por su fecha descendente de entradas. Por lo general, su consulta se ve así:
db.collectionName.find ({edad: {$ gt: 50}}). sort ({fecha: -1})
Pero si tuviera un índice en las fechas de entrada, solo necesitaría proporcionar los criterios de consulta. Esto es así porque ya habría ordenado la fecha de forma descendente al crear el índice.
En ese caso, la consulta anterior se convierte en:
db.collectionName.find ({edad: {$ gt: 50}})
Cómo crear un índice en MongoDB
Puede crear índices en MongoDB utilizando su interfaz de shell incorporada. Entonces eso es lo que usaremos en este tutorial.
Sin embargo, los índices no existen solos. Debes tener creó una base de datos y una colección antes de poder crear un índice.
Como mencionamos anteriormente, una característica destacada de la indexación es que le permite especificar criterios de clasificación durante la creación del índice.
Por ejemplo, un índice que ordena la edad en orden inverso se ve así:
db.userCollection.createIndex ({edad: -1})
El entero negativo (-1) en el código le dice a MongoDB que organice la edad en orden inverso cada vez que consulta datos usando el envejecer índice. Por lo tanto, es posible que no necesite especificar un orden de clasificación durante las consultas, ya que el índice ya lo maneja.
Para crear un índice del mismo campo de forma ascendente, reemplace -1 con 1:
db.userCollection.createIndex ({edad: 1})
Aunque hay otros tipos de índices en MongoDB, así es como se crean las formas simples y compuestas, ya que son las más utilizadas.
Pero antes de continuar, asegúrese de que ha configurar un MongoDB servidor en su PC. Si ya lo ha hecho, abra el shell de MongoDB y siga.
Cree un índice único en MongoDB
La indexación única en MongoDB es sencilla. Para comenzar, seleccione una base de datos que ya contenga colecciones.
Digamos que el nombre de nuestra base de datos es MUO:
usar MUO
Una vez que elija una base de datos, use el createIndex () comando en el shell para crear un índice único.
Por ejemplo, para crear un índice de nombre de usuario único en una colección y utilizarlo para realizar consultas en orden inverso:
db.collectionName.createIndex ({nombre de usuario: -1})
Indexación Multikey en MongoDB
Los índices de varias claves son útiles para indexar un campo en una matriz de datos compleja. Por ejemplo, una colección puede contener datos complejos de usuarios con su información en otra matriz. Por ejemplo, diga nombre, altura y edad.
Puede crear un índice de varias claves en la altura de cada usuario en esa matriz de esta manera:
db.customers.createIndex ({user.height: 1})
El altura en el código anterior es un subconjunto del usuario campo.
Crear un índice compuesto
Un índice compuesto contiene más de un índice. Para crear un índice compuesto de dirección y tipo de producto en una colección de clientes, por ejemplo:
db.customer.createIndex ({dirección: 1, productos: 1})
Como no proporcionó un nombre al crear el índice anterior, MongoDB crea uno de forma predeterminada. Pero separa el nombre de cada índice por un guión bajo. Por lo tanto, es menos legible, especialmente si tiene más de dos índices en un compuesto.
Para especificar un nombre al crear un índice compuesto:
db.customers.createIndex ({ubicación: 1, productos: 1, peso: -1}, {nombre: "myCompundIndex"})
Obtener todos los índices en una colección
Para ver todos los índices de una colección:
db.collectionName.getIndexes ()
El código anterior genera todos los índices en una colección con nombre.
Organice su base de datos con índices
La indexación en MongoDB reduce la latencia del tiempo de ejecución al ejecutar consultas simultáneas. Además, lo ayudan a organizar su base de datos y hacerla más accesible. Como ha visto, crear índices en MongoDB no es complejo, después de todo. Los ejemplos aquí son suficientes para comenzar con la creación de índices. No obstante, para ver sus índices en la práctica, necesita saber cómo funcionan las consultas en MongoDB.
Conocer MongoDB es complicado. Empiece a ejecutar con CRUD.
Leer siguiente
- Programación
- Pitón
- Programación
- base de datos
Idowu es un apasionado de cualquier tecnología inteligente y productividad. En su tiempo libre, juega con la codificación y cambia al tablero de ajedrez cuando está aburrido, pero también le encanta romper con la rutina de vez en cuando. Su pasión por mostrarle a la gente el camino en torno a la tecnología moderna lo motiva a escribir más.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse