Definición
createIndexesCompila uno o más índices en una colección.
Tip
In
mongosh, this command can also be run through thedb.collection.createIndex()anddb.collection.createIndexes()helper methods.Helper methods are convenient for
mongoshusers, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
- MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
The createIndexes command takes the following form:
db.runCommand( { createIndexes: <collection>, indexes: [ { key: { <key-value_pair>, <key-value_pair>, ... }, name: <index_name>, <option1>, <option2>, ... }, { ... }, { ... } ], writeConcern: { <write concern> }, commitQuorum: <int|string>, comment: <any> } )
Campos de comandos
The createIndexes command takes the following fields:
Campo | Tipo | Descripción |
|---|---|---|
| string | La colección para la que crear índices. |
| arreglo | Especifica los índices que se deben crear. Cada documento del arreglo especifica un índice por separado. |
| Documento | Opcional. Un documento que expresa el nivel de confirmación de escritura. Omite el uso del nivel de confirmación de escritura por defecto. |
| entero o cadena de texto | opcional. El número mínimo de miembros del set de réplicas que contienen datos (es decir, quórum de confirmación), incluyendo el primario, que debe informar una creación de índices exitosa antes de que el primario marque el Puede reanudar algunas creaciones de índices interrumpidas cuando el quórum de confirmación está configurado en el valor por defecto Los nodos del set de réplicas en un quórum de confirmación deben tener Admite los siguientes valores:
|
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). |
Cada documento en el arreglo indexes puede incluir los siguientes campos:
Campo | Tipo | Descripción | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Documento | Especifica los campos del índice. Para cada campo, especifique un par clave-valor en el que la clave sea el nombre del campo a indexar y el valor sea la dirección del índice o el tipo de índice. Si se especifica la dirección, especifique MongoDB admite varios tipos de índices diferentes, incluidos: Consulta tipos de índices para obtener más información. Los índices comodín compatibles con cargas de trabajo donde los usuarios consultan campos personalizados o una amplia variedad de campos en una colección:
| ||||||||||
| string | Un nombre que identifica de manera única el índice. | ||||||||||
| booleano | Opcional. Crea un índice único para que la colección no acepte la inserción o actualización de documentos cuyo valor de clave de índice coincida con un valor ya existente en el índice. Especifica La opción no está disponible para índices encriptados. | ||||||||||
| Documento | Opcional. Si se especifica, el índice solo hace referencia a los documentos que coinciden con la expresión del filtro. Consulta Índices parciales para obtener más información. Una expresión de filtro puede incluir:
Si estás utilizando cifrado a nivel de campo del lado del cliente o Queryable Encryption, un Puedes especificar una opción | ||||||||||
| booleano | Opcional. Si Los siguientes tipos de índices son escasos por defecto e ignoran esta opción: Para un índice compuesto que incluye MongoDB proporciona la opción de crear índices parciales. Éstas ofrecen un superconjunto de la funcionalidad de los índices dispersos y se prefieren en su lugar. | ||||||||||
| entero | Opcional. Especifica un valor, en segundos, como tiempo de vida (TTL) para controlar cuánto tiempo MongoDB retiene los documentos en esta colección. Esta opción solo se aplica a los índices TTL. Consulta Caducar datos de colecciones configurando TTL para obtener más información. Si utilizas índices TTL creados antes de MongoDB 5.0, o si deseas sincronizar datos creados en MongoDB 5.0 con una versión anterior a la instalación 5.0, consulta Índices configurados usando NaN para evitar problemas de configuración errónea. El valor del índice TTL | ||||||||||
booleano | opcional. Una bandera que determina si el índice está oculto para el planificador de query. Un índice oculto no se evalúa como parte de la selección del plan del query. El valor por defecto es | |||||||||||
| Documento | Opcional. Permite a los usuarios configurar el motor de almacenamiento por índice al crear un índice. La opción Las opciones de configuración del motor de almacenamiento especificadas al crear índices se validan y se registran en el oplog durante la replicación para admitir conjuntos de réplicas con miembros que utilizan diferentes motores de almacenamiento. | ||||||||||
| Documento | Optional. For text indexes, a document that contains field and weight pairs. The weight is an integer ranging from 1 to 99,999 and denotes the significance of the field relative to the other indexed fields in terms of the score. You can specify weights for some or all the indexed fields. See Assign Weights to Text Search Results to adjust the scores. The default value is | ||||||||||
| string | Opcional. Para los índices de texto, el lenguaje que determina la lista de palabras vacías y las reglas para el stemmer y el tokenizador. Consulta Lenguajes de búsqueda de texto en implementaciones autogestionadas para los lenguajes disponibles y Especificar el lenguaje para índices de texto en MongoDB autogestionado para más información y ejemplos. El valor por defecto es | ||||||||||
| string | Opcional. Para los índices de texto, el nombre del campo en los documentos de la colección que contiene el idioma de anulación para el documento. El valor es por defecto | ||||||||||
| entero | Opcional. El número de versión del índice Para las versiones disponibles, consulta Versiones del índice de texto en implementaciones autogestionadas. | ||||||||||
| entero | Opcional. El número de versión del índice Para las versiones disponibles, consulta Índices 2dsphere. | ||||||||||
| entero | Opcional. Para los índices 2d, el número de cifras significativas del valor geohash almacenado de los datos de ubicación. El valor | ||||||||||
| Número | opcional. Para los índices 2d, el límite inferior inclusivo para los valores de longitud y latitud. El valor por defecto es | ||||||||||
| Número | opcional. Para los índices 2d, el límite superior inclusivo de los valores de longitud y latitud. El valor por defecto es | ||||||||||
| Documento | Opcional. Especifica la intercalación para el índice. La intercalación permite a los usuarios especificar reglas propias del lenguaje para la comparación de strings, como reglas para el uso de mayúsculas y minúsculas y marcas de acento. Si has especificado una intercalación a nivel de colección, entonces:
La opción de intercalación tiene la siguiente sintaxis: Al especificar la intercalación, el campo | ||||||||||
| Documento | Opcional. Permitir a los usuarios incluir o excluir rutas de campo específicas de un índice comodín utilizando el patrón de clave La opción El
Los índices comodín omiten el campo Todas las instrucciones en el documento |
mongosh provides the methods db.collection.createIndex() and db.collection.createIndexes() as wrappers for the createIndexes command.
Considerations
MongoDB no permite la creación de índices de la versión 0.
Nombres de índices
The createIndexes command and mongosh helpers db.collection.createIndex() and db.collection.createIndexes() report an error if you create an index with one name, and then try to create the same index again but with another name.
{ "ok" : 0, "errmsg" : "Index with name: x_1 already exists with a different name", "code" : 85, "codeName" : "IndexOptionsConflict" }
En versiones anteriores, MongoDB no volvía a crear el índice, sino que devolvía un objeto de respuesta con un valor ok de 1 y una nota que implicaba que el índice no se había recreado. Por ejemplo:
{ "numIndexesBefore" : 2, "numIndexesAfter" : 2, "note" : "all indexes already exist", "ok" : 1 }
Sets de réplicas y clústeres
Nota
Requiere featureCompatibilityVersion 4.4+
Cada mongod en el set de réplicas o clúster debe tener featureCompatibilityVersion configurada al menos en 4.4 para iniciar la creación de índices simultáneamente en los miembros del set de réplicas.
La creación de índices en un set de réplicas o en un clúster se realiza simultáneamente en todos los miembros del set de réplicas que contienen datos. Para clústeres fragmentados, la creación de índices solo ocurre en fragmentos que contienen datos para la colección que se está indexando. El primario requiere un número mínimo de nodos portadores de datos voting (es decir, quórum de confirmación), incluido él mismo, que deben completar la compilación antes de marcar el índice como listo para usar. Consulta creación de índices en entornos replicados para obtener más información.
Para iniciar una creación de índices con un cuórum de confirmación distinto del por defecto, especifique el cuórum de confirmación.
Utilice el comando setIndexCommitQuorum para modificar el quórum de confirmación de una creación de índices en curso.
Tipos de intercalación y de índices
Los siguientes índices solo soportan la comparación binaria simple y no soportan la intercalación:
Tip
Para crear un índice text o 2d en una colección que tenga una intercalación no simple, debe especificar explícitamente {collation: {locale: "simple"} } al crear el índice.
Stable API
Cuando se debe utilizar Stable API V1:
No puedes especificar ninguno de los siguientes campos en el arreglo
indexes:backgroundbucketSizesparsestorageEngine
No puedes crear índices de texto.
Los tipos de índice no admitidos mencionados anteriormente son ignorados por el planificador de consultas en modo estricto. Por ejemplo, intentar usar un índice
sparseconcursor.hint()dará como resultado el siguiente errorBadValue:planner returned error :: caused by :: hint provided does not correspond to an existing index
Comportamiento
Simultaneidad
For featureCompatibilityVersion "4.2", createIndexes uses an optimized build process that obtains and holds an exclusive lock on the specified collection at the start and end of the index build. All subsequent operations on the collection must wait until createIndexes releases the exclusive lock. createIndexes allows interleaving read and write operations during the majority of the index build.
Para featureCompatibilityVersion, "4.0" createIndexes utiliza el4 2 proceso de creación de índices pre-. que, por defecto, obtiene un bloqueo exclusivo en la base de datos principal durante toda la duración del proceso de creación. El4 2 proceso de creación pre-. bloquea todas las operaciones en la base de datos y todas sus colecciones hasta que la operación se complete. Losbackground índices no toman un bloqueo exclusivo.
For more information on the locking behavior of createIndexes, see Index Builds on Populated Collections.
Límite de uso de memoria
createIndexes admite la creación de uno o más índices en una colección. createIndexes utiliza una combinación de memoria y archivos temporales en disco para crear índices. El límite de memoria predeterminado es de 200 megabytes por comando, compartido equitativamente entre todos los índices creados en ese comando. Por ejemplo, si createIndexes crea 10 índices con un createIndexes comando, MongoDB asigna a cada índice 20 megabytes para el proceso de creación del índice cuando se utiliza el 200 límite de memoria predeterminado de. Cuando se alcanza el límite de memoria, MongoDB crea archivos temporales en el _tmp subdirectorio dentro de --dbpath para completar la creación.
Ajuste el límite de memoria con el parámetromaxIndexBuildMemoryUsageMegabytes. Aumentar este parámetro solo es necesario en casos excepcionales, como cuando se ejecutan varias compilaciones de índices simultáneas con un solo comandocreateIndexeso cuando se indexa un conjunto de datos mayor de 500GB.
Cada comandocreateIndexestiene un límite demaxIndexBuildMemoryUsageMegabytes. Al usar el valor predeterminadomaxNumActiveUserIndexBuildsde 3, el uso total de memoria para todas las construcciones de índices concurrentes puede alcanzar hasta 3 veces el valor demaxIndexBuildMemoryUsageMegabytes.
Opciones del índice
Non-Hidden Option
The hidden option can be changed without dropping and recreating the index. See Hidden Option.
Cambiar las Opciones de Índice
Collation options on an existing index can be updated. To change other index options, drop the existing index with db.collection.dropIndex() then run createIndexes with the new options.
Opción de intercalación
Puedes crear múltiples índices en las mismas claves con diferentes intercalaciones. Para crear índices con el mismo patrón de clave pero diferentes intercalaciones, debes proporcionar nombres de índice únicos.
Si has especificado una intercalación a nivel de colección, entonces:
Si no especificas una intercalación al crear el índice, MongoDB crea el índice con la intercalación por defecto de la colección.
Si especificas una intercalación al crear el índice, MongoDB crea el índice con la intercalación especificada.
Tip
Al especificar una intercalación strength de 1 o 2, puedes crear un índice insensible a mayúsculas y minúsculas. El índice con una intercalación strength de 1 es insensible tanto a diacríticos como a mayúsculas.
Para utilizar un índice para las comparaciones de cadenas, una operación también debe especificar la misma intercalación. Es decir, un índice con una intercalación no puede soportar una operación que realice comparaciones de strings en los campos indexados si la operación especifica una intercalación diferente.
Advertencia
Las claves de índice sensibles a la intercalación pueden ser más grandes que las claves de índice que no la utilizan, ya que los índices configurados con intercalación utilizan claves de intercalación ICU para lograr un orden de clasificación.
Opción oculta
To change the hidden option for existing indexes, you can use the following mongosh methods:
Por ejemplo,
Para cambiar la opción
hiddende un índice atrue, utiliza el métododb.collection.hideIndex():db.restaurants.hideIndex( { borough: 1, ratings: 1 } ); Para cambiar la opción
hiddende un índice afalse, utiliza el métododb.collection.unhideIndex():db.restaurants.unhideIndex( { borough: 1, city: 1 } );
Índices comodín
Los índices comodín omiten el campo
_idpor defecto. Para incluir el campo_iden el índice comodín, debes incluirlo explícitamente en el documentowildcardProjection:{ "wildcardProjection" : { "_id" : 1, "<field>" : 0|1 } } Todas las instrucciones en el documento
wildcardProjectiondeben ser de inclusión o de exclusión. También puede incluir el campo_idcon las instrucciones de exclusión. Esta es la única excepción a la regla.Los índices comodín no son compatibles con:
Los índices comodín son índices escasos. No ofrecen soporte para consultas cuando no existe un campo indexado. Un índice comodín indexará el documento si el campo comodín tiene un valor de
null.A partir de MongoDB 7.0, los índices comodín admiten el orden de clasificación ascendente (
1) y descendente (-1). Las versiones anteriores solo admitían el orden ascendente.
Para obtener más información, consulta:
Transacciones
Puedes crear colecciones e índices dentro de una transacción distribuida si la transacción no es una transacción de escritura entre particiones.
To use createIndexes in a transaction, the transaction must use read concern "local". If you specify a read concern level other than "local", the transaction fails.
Quórum de confirmación en contraste con el nivel de confirmación de escritura
Existen diferencias importantes entre los quorum de confirmación y niveles de confirmación de escritura (write concern):
Las compilaciones de índices utilizan quórums de confirmación.
Las operaciones de escritura usan nivel de confirmación de escritura (write concern).
Cada nodo que lleva datos en un clúster es un miembro votante.
El quórum de confirmación especifica cuántos miembros votantes portadores de datos, o cuáles miembros votantes, incluido el primario, deben estar preparados para confirmar una creación de índices simultánea antes de que el primario ejecute la confirmación.
El nivel de confirmación de escritura (write concern) es el nivel de confirmación que la operación de escritura ha alcanzado en el número especificado de instancias.
El quórum de confirmación especifica cuántos nodos deben estar listos para finalizar la creación de índices antes de que el primario confirme la creación de índices. Por el contrario, cuando el primario ha realizado la creación de índices, el nivel de confirmación de escritura (write concern) especifica cuántos nodos deben finalizar la creación de índices antes de que el comando devuelva una respuesta.
Ejemplo
El siguiente comando construye dos índices en la colección inventory de la base de datos products:
db.getSiblingDB("products").runCommand( { createIndexes: "inventory", indexes: [ { key: { item: 1, manufacturer: 1, model: 1 }, name: "item_manufacturer_model", unique: true }, { key: { item: 1, supplier: 1, model: 1 }, name: "item_supplier_model", unique: true } ], writeConcern: { w: "majority" } } )
Cuando los índices terminan de construirse con éxito, MongoDB devuelve un documento de resultados que incluye un estado de "ok" : 1.
Crear un índice comodín
Nota
Para la documentación completa sobre los Índices comodín, consulta Índices comodín.
Las siguientes listas muestran ejemplos de la creación de índices comodín:
Crear un índice comodín en una ruta de un solo campo
Considera una colección products_catalog donde los documentos pueden contener un campo product_attributes. El product_attributes campo puede contener campos anidados arbitrarios, incluidos documentos incrustados y arreglos:
db.products_catalog.insertMany( [ { _id : ObjectId("5c1d358bf383fbee028aea0b"), product_name: "Blaster Gauntlet", product_attributes: { price: { cost: 299.99, currency: "USD" } } }, { _id: ObjectId("5c1d358bf383fbee028aea0c"), product_name: "Super Suit", product_attributes: { superFlight: true, resistance: [ "Bludgeoning", "Piercing", "Slashing" ] } } ] )
La siguiente operación crea un índice comodín en el campo product_attributes:
use inventory db.runCommand( { createIndexes: "products_catalog", indexes: [ { key: { "product_attributes.$**" : 1 }, name: "wildcardIndex" } ] } )
Con este índice comodín, MongoDB indexa todos los valores escalares de product_attributes. Si el campo es un documento o arreglo anidado, el índice comodín recorre el documento/arreglo e indexa todos los campos escalares del documento/arreglo.
El índice comodín puede brindar soporte a queries arbitrarias de un solo campo en product_attributes o en uno de sus campos anidados:
db.products_catalog.find( { "product_attributes.superFlight" : true } ) db.products_catalog.find( { "product_attributes.maxSpeed" : { $gt : 20 } } ) db.products_catalog.find( { "product_attributes.elements" : { $eq: "water" } } )
Nota
La sintaxis del índice comodín específica de la ruta es incompatible con la opción wildcardProjection. Consulte la documentación de parámetros para obtener más información.
Crear un índice comodín en todas las rutas de campos
Considera una colección products_catalog donde los documentos pueden contener un campo product_attributes. El product_attributes campo puede contener campos anidados arbitrarios, incluidos documentos incrustados y arreglos:
db.products_catalog.insertMany( [ { _id : ObjectId("5c1d358bf383fbee028aea0b"), product_name: "Blaster Gauntlet", product_attributes: { price: { cost: 299.99, currency: "USD" } } }, { _id: ObjectId("5c1d358bf383fbee028aea0c"), product_name: "Super Suit", product_attributes: { superFlight: true, resistance: [ "Bludgeoning", "Piercing", "Slashing" ] } } ] )
La siguiente operación crea un índice comodín en todos los campos escalares (excluyendo el campo _id):
use inventory db.runCommand( { createIndexes: "products_catalog", indexes: [ { key: { "$**" : 1 }, name: "wildcardIndex" } ] } )
Con este índice comodín, MongoDB indexa todos los campos escalares de cada documento de la colección. Si un campo dado es un documento o arreglo anidado, el índice comodín recorre el documento/arreglo e indexa todos los campos escalares del documento/arreglo.
El índice creado puede soportar queries sobre cualquier campo arbitrario dentro de los documentos de la colección:
db.products_catalog.find( { "product_price" : { $lt : 25 } } ) db.products_catalog.find( { "product_attributes.elements" : { $eq: "water" } } )
Nota
Los índices comodín omiten el campo _id por defecto. Para incluir el campo _id en el índice comodín, se debe incluir explícitamente en el documento wildcardProjection. Consulta la documentación de parámetros para obtener más información.
Crea un índice comodín en varias rutas de campo específicas
Considera una colección products_catalog donde los documentos pueden contener un campo product_attributes. El product_attributes campo puede contener campos anidados arbitrarios, incluidos documentos incrustados y arreglos:
db.products_catalog.insertMany( [ { _id : ObjectId("5c1d358bf383fbee028aea0b"), product_name: "Blaster Gauntlet", product_attributes: { price: { cost: 299.99, currency: "USD" } } }, { _id: ObjectId("5c1d358bf383fbee028aea0c"), product_name: "Super Suit", product_attributes: { superFlight: true, resistance: [ "Bludgeoning", "Piercing", "Slashing" ] } } ] )
La siguiente operación crea un índice comodín y utiliza la opción wildcardProjection para incluir únicamente los valores escalares de los campos product_attributes.elements y product_attributes.resistance en el índice.
use inventory db.runCommand( { createIndexes: "products_catalog", indexes: [ { key: { "$**" : 1 }, "wildcardProjection" : { "product_attributes.elements" : 1, "product_attributes.resistance" : 1 }, name: "wildcardIndex" } ] } )
Aunque el patrón clave "$**" abarca todos los campos del documento, el campo wildcardProjection limita el índice solo a los campos incluidos y los campos anidados relacionados.
Si un campo es un documento o un arreglo anidado, el índice comodín recorre el documento/arreglo e indexa todos los campos escalares del documento/arreglo.
El índice creado puede soportar queries en cualquier campo escalar incluido en el wildcardProjection:
db.products_catalog.find( { "product_attributes.elements" : { $eq: "Water" } } ) db.products_catalog.find( { "product_attributes.resistance" : "Bludgeoning" } )
Nota
Los índices comodín no soportan mezclar instrucciones de inclusión y exclusión en el documento wildcardProjection excepto cuando se incluye explícitamente el campo _id. Para obtener más información sobre wildcardProjection, consulta la documentación de los parámetros.
Crea un índice comodín que excluya varias rutas de campos específicas
Considera una colección products_catalog donde los documentos pueden contener un campo product_attributes. El product_attributes campo puede contener campos anidados arbitrarios, incluidos documentos incrustados y arreglos:
db.products_catalog.insertMany( [ { _id : ObjectId("5c1d358bf383fbee028aea0b"), product_name: "Blaster Gauntlet", product_attributes: { price: { cost: 299.99, currency: "USD" } } }, { _id: ObjectId("5c1d358bf383fbee028aea0c"), product_name: "Super Suit", product_attributes: { superFlight: true, resistance: [ "Bludgeoning", "Piercing", "Slashing" ] } } ] )
La siguiente operación crea un índice comodín y utiliza el documento wildcardProjection para indexar todos los campos escalares de cada documento en la colección, excluyendo los campos product_attributes.elements y product_attributes.resistance:
use inventory db.runCommand( { createIndexes: "products_catalog", indexes: [ { key: { "$**" : 1 }, "wildcardProjection" : { "product_attributes.elements" : 0, "product_attributes.resistance" : 0 }, name: "wildcardIndex" } ] } )
Mientras que el patrón clave "$**" cubre todos los campos en el documento, el campo wildcardProjection excluye los campos especificados del índice.
Si un campo es un documento o un arreglo anidado, el índice comodín recorre el documento/arreglo e indexa todos los campos escalares del documento/arreglo.
El índice creado puede admitir consultas sobre cualquier campo escalar excepto aquellos excluidos por wildcardProjection:
db.products_catalog.find( { "product_attributes.maxSpeed" : { $gt: 25 } } ) db.products_catalog.find( { "product_attributes.superStrength" : true } )
Nota
Los índices comodín no soportan mezclar instrucciones de inclusión y exclusión en el documento wildcardProjection excepto cuando se incluye explícitamente el campo _id. Para obtener más información sobre wildcardProjection, consulta la documentación de los parámetros.
Crear un índice con quórum de confirmación
Nota
Requiere featureCompatibilityVersion 4.4+
Cada mongod en el set de réplicas o clúster debe tener featureCompatibilityVersion configurada al menos en 4.4 para iniciar la creación de índices simultáneamente en los miembros del set de réplicas.
La creación de índices en un set de réplicas o en un clúster se realiza simultáneamente en todos los miembros del set de réplicas que contienen datos. Para clústeres fragmentados, la creación de índices solo ocurre en fragmentos que contienen datos para la colección que se está indexando. El primario requiere un número mínimo de nodos portadores de datos voting (es decir, quórum de confirmación), incluido él mismo, que deben completar la compilación antes de marcar el índice como listo para usar. Consulta creación de índices en entornos replicados para obtener más información.
To set the commit quorum, use createIndexes to specify the commitQuorum value.
commitQuorum especifica cuántos nodos votantes con datos o cuáles, incluido el primario, deben estar preparados para confirmar la creación de índices antes de que el primario ejecute la confirmación. El quórum de confirmación por defecto es votingMembers, lo que significa todos los nodos con datos.
The following operation creates an index with a commit quorum of "majority", or a simple majority of data-bearing members:
db.getSiblingDB("examples").runCommand( { createIndexes: "invoices", indexes: [ { key: { "invoices" : 1 }, "name" : "invoiceIndex" } ], "commitQuorum" : "majority" } )
El primario marca la creación de índices como lista solo después de que una mayoría simple de nodos votantes con datos "vote" para confirmar la creación de índices. Para obtener más información sobre la creación de índices y el proceso de votación, consulta Creación de índices en entornos replicados.
Salida
The createIndexes command returns a document that indicates the success of the operation. The document contains some but not all of the following fields, depending on outcome:
createIndexes.createdCollectionAutomaticallySi
true, entonces la colección no existía y se creó durante el proceso de creación del índice.
createIndexes.okUn valor de
1indica que los índices están implementados. Un valor de0indica un error.
createIndexes.noteEste
notese devuelve si ya existe un índice o índices existentes. Esto indica que el índice no fue creado ni cambiado.
Ejemplo de salida
El siguiente bloque de código ilustra un ejemplo de la salida createIndexes en un clúster particionado. En un clúster, createIndexes genera un documento incrustado raw que contiene un documento para cada partición en el que se construye el índice. Las claves del documento incrustado raw son concatenaciones del ID de partición y el nombre de host y puerto de los nodos individuales que componen la partición.
{ raw: { 'atlas-2m11gv-shard-1/atlas-2m11gv-shard-01-00.cpfgx.mongodb.net:27017,atlas-2m11gv-shard-01-01.cpfgx.mongodb.net:27017,atlas-2m11gv-shard-01-02.cpfgx.mongodb.net:27017': { numIndexesBefore: 3, numIndexesAfter: 5, createdCollectionAutomatically: false, commitQuorum: 'votingMembers', ok: 1 }, 'atlas-2m11gv-shard-0/atlas-2m11gv-shard-00-00.cpfgx.mongodb.net:27017,atlas-2m11gv-shard-00-01.cpfgx.mongodb.net:27017,atlas-2m11gv-shard-00-02.cpfgx.mongodb.net:27017': { numIndexesBefore: 3, numIndexesAfter: 5, createdCollectionAutomatically: false, commitQuorum: 'votingMembers', ok: 1 } }, ok: 1, '$clusterTime': { clusterTime: Timestamp({ t: 1743624296, i: 7 }), signature: { hash: Binary.createFromBase64('22j0GK8SIK806T+0OdCY6qYHocM=', 0), keyId: Long('7438621020069560323') } }, operationTime: Timestamp({ t: 1743624296, i: 7 }) }