Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Crear un índice único compuesto

Aplica una restricción única en índice compuesto. Un índice compuesto único aplica la unicidad en 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, ejecuta 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