Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Crear un índice compuesto

Los índices compuestos son índices que contienen referencias a varios campos. Los índices compuestos mejoran el rendimiento de los queries sobre exactamente los campos del índice o campos en el prefijo de índice.

Para crear un índice compuesto, usa el método db.collection.createIndex():

db.<collection>.createIndex( {
<field1>: <sortOrder>,
<field2>: <sortOrder>,
...
<fieldN>: <sortOrder>
} )

Puedes especificar hasta 32 campos en un único índice compuesto.

Crea una colección students que contenga estos documentos:

db.students.insertMany([
{
"name": "Alice",
"gpa": 3.6,
"location": { city: "Sacramento", state: "California" }
},
{
"name": "Bob",
"gpa": 3.2,
"location": { city: "Albany", state: "New York" }
}
])

La siguiente operación crea un índice compuesto que contiene los campos name y gpa:

db.students.createIndex( {
name: 1,
gpa: -1
} )

En este ejemplo:

  • El índice en name es ascendente (1).

  • El índice en gpa es descendente (-1).

El índice creado admite queries que seleccionan en:

  • Ambos campos name y gpa.

  • Solo el campo name, porque name es un prefijo del índice compuesto.

Por ejemplo, el índice admite estos queries:

db.students.find( { name: "Alice", gpa: 3.6 } )
db.students.find( { name: "Bob" } )

El índice no admite queries solo sobre el campo gpa, porque gpa no forma parte del prefijo del índice. Por ejemplo, el índice no admite este query:

db.students.find( { gpa: { $gt: 3.5 } } )