View a markdown version of this page

Propiedad de índice: única - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Propiedad de índice: única

Tipos de índices compatibles

Opción 3.6 4.0 5.0 8.0 Elastic Cluster
campo único
compuesto
tecla múltiple

Utilice la opción exclusiva para garantizar la exclusividad de los campos de los documentos de una colección.

Ejemplos

Los siguientes ejemplos muestran cómo crear índices únicos en el siguiente documento de ejemplo:

{ "productId": "PROD133726", "sku": "SKU24224", "name": "Basic Printer", "manufacturer": "The Manufacturer", "tags": [ "printer", "basic", "electronics", "business" ], "barcodes": [ "542364671", "886330670", "437445606" ], "reviews": [ { "review_date": ISODate('2024-01-19T21:37:10.585Z'), ... } ], "material": "Polycarbonate", "color": "Space Gray", "supplier": { "supplierId": "SUP4", "location": { "type": "Point", "coordinates": [ -71.0589, 42.3601 ] } }, "productEmbedding": [ -0.019320633663838058, 0.019672111388113596 ], "lastUpdated": ISODate('2025-10-20T21:37:10.585Z') }

campo único

Cree un índice de campo único en ProductID para asegurarse de que no exista el mismo ProductID en más de un documento:

db.collection.createIndex( { "productId": 1 }, { name: "productId_unique", unique: true } )

Compuesto

Cree un índice compuesto único sobre la referencia y el fabricante para garantizar que no aparezca la misma combinación de referencia y fabricante en más de un documento:

db.collection.createIndex( { "sku": 1, "manufacturer": 1 }, { name: "sku_and_manufacturer_unique", unique: true } )

tecla múltiple

Cree un índice único de varias teclas en los códigos de barras para garantizar que ningún valor de la matriz de códigos de barras esté presente en más de un documento:

db.collection.createIndex( { "barcodes": 1 }, { name: "barcodes_unique", unique: true } )

Al indexar una matriz, se crea una entrada de índice para cada elemento de la matriz. Por ejemplo, si una matriz tiene 50 elementos, tiene 50 entradas de índice. Por ello, los índices únicos de varias claves imponen la unicidad de todos los elementos individuales. Por ejemplo, los siguientes documentos infringirán la restricción única del índice de campos de matriz de valores:

{ "values": [ 1, 2, 3] } { "values": [ 3, 2 ] } --> 3 and 2 already exist { "values": [ 1 ] } --> 1 already exists

Tenga en cuenta el siguiente comportamiento con índices únicos:

  1. Si crea un índice único a partir de datos existentes en el que dos (o más) documentos tengan los mismos valores para los campos indexados, la creación del índice fallará y mostrará el siguiente error: could not create unique index: <collection> index: <index name>

  2. Si inserta un documento en el que el valor del campo indexado coincide con el valor de ese campo en otro documento, la inserción fallará y mostrará el siguiente error: E11000 duplicate key error collection: <collection> index: <index name>

  3. Si actualiza un documento existente para que el nuevo valor del campo indexado coincida con el valor de ese campo en otro documento, la actualización fallará y mostrará el siguiente error: E11000 duplicate key error collection: <collection> index: <index name>

  4. Si falta el campo indexado en un documento, el valor se considerará nulo. Las compilaciones, inserciones y actualizaciones de índices fallarán como se ha descrito anteriormente si el campo indexado falta en dos (o más) documentos.