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

Crea un índice comodín en todos los campos

Puedes crear un índice comodín que admita consultas en todos los campos posibles del documento. Los índices comodín admiten consultas sobre nombres de campos arbitrarios o desconocidos.

Para crear un índice comodín en todos los campos (excluyendo _id), utiliza el especificador comodín ($**) como clave del índice:

db.<collection>.createIndex( { "$**": <sortOrder> } )

Usa índices comodín solo cuando los campos a los que quieras aplicar un índice sean desconocidos o puedan cambiar. Los índices comodín no funcionan tan bien como los índices dirigidos en campos específicos. Si tu colección tiene nombres arbitrarios de campos que impiden los índices dirigidos, considera remodelar tu esquema para que tenga nombres de campo coherentes. Para aprender más sobre los índices objetivo, consulta Crear índices para dar soporte a tus query.

Crear una colección artwork que contenga los siguientes documentos:

db.artwork.insertMany( [
{
"name": "The Scream",
"artist": "Edvard Munch",
"style": "modern",
"themes": [ "humanity", "horror" ]
},
{
"name": "Acrobats",
"artist": {
"name": "Raoul Dufy",
"nationality": "French",
"yearBorn": 1877
},
"originalTitle": "Les acrobates",
"dimensions": [ 65, 49 ]
},
{
"name": "The Thinker",
"type": "sculpture",
"materials": [ "bronze" ],
"year": 1904
}
] )

Cada documento contiene detalles sobre la obra de arte. Los nombres de campo varían entre los documentos dependiendo de la información disponible sobre la pieza.

La siguiente operación crea un índice comodín en todos los campos de documentos en la colección artwork (excluyendo _id):

db.artwork.createIndex( { "$**" : 1 } )

Este índice admite consultas de un solo campo en cualquier campo de la colección. Si un documento contiene un documento incrustado o un arreglo, el índice comodín recorre el documento o arreglo y almacena el valor de todos los campos en el documento o arreglo.

Por ejemplo, el índice admite las siguientes consultas:

  • query:

    db.artwork.find( { "style": "modern" } )

    Salida:

    [
    {
    _id: ObjectId("6352c401b1fac2ee2e957f09"),
    name: 'The Scream',
    artist: 'Edvard Munch',
    style: 'modern',
    themes: [ 'humanity', 'horror' ]
    }
    ]
  • query:

    db.artwork.find( { "artist.nationality": "French" } )

    Salida:

    [
    {
    _id: ObjectId("6352c525b1fac2ee2e957f0d"),
    name: 'Acrobats',
    artist: { name: 'Raoul Dufy', nationality: 'French', yearBorn: 1877 },
    originalTitle: 'Les acrobates',
    dimensions: [ 65, 49 ]
    }
    ]
  • query:

    db.artwork.find( { "materials": "bronze" } )

    Salida:

    [
    {
    _id: ObjectId("6352c387b1fac2ee2e957f08"),
    name: 'The Thinker',
    type: 'sculpture',
    materials: [ 'bronze' ],
    year: 1904
    }
    ]

Para aprender a crear un índice comodín que proyecte campos específicos a cubrir, consulta las siguientes páginas:

Para obtener más información sobre los comportamientos de los índices comodín, consulte: