Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Crear un índice único compuesto

Aplica una restricción única en Índices compuestos. Un índice compuesto único garantiza la unicidad de la combinación de los valores clave del índice.

Para crear un índice único en la MongoDB Shell, usa el db.collection.createIndex() método con la opción unique configurada a true.

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

Este ejemplo añade un índice compuesto único en los campos groupNumber, lastname y firstname de una colección members. El índice garantiza que la combinación de estos valores de campo sea única para cada documento de la colección.

Para crear un índice único en los campos groupNumber, lastname y firstname de la colección members, ejecute el siguiente comando en mongosh:

db.members.createIndex(
{ groupNumber: 1, lastname: 1, firstname: 1 },
{ unique: true }
)

El índice creado aplica la unicidad para la combinación de los valores de groupNumber, lastname, y firstname.

Considera una colección con el siguiente documento:

db.myColl.insertOne(
{ _id: 1, a: [ { loc: "A", qty: 5 }, { qty: 10 } ] }
)

Crea un índice compuesto único multikey en a.loc y a.qty:

db.myColl.createIndex( { "a.loc": 1, "a.qty": 1 }, { unique: true } )

El índice único permite la inserción de los siguientes documentos en la colección, ya que el índice aplica la unicidad de la combinación de valores de a.loc y a.qty:

db.myColl.insertMany( [
{ _id: 2, a: [ { loc: "A" }, { qty: 5 } ] },
{ _id: 3, a: [ { loc: "A", qty: 10 } ] }
] )

Volver

Único de un solo campo

En esta página