MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Eindeutiger Index für die Eigenschaft des Array-Elements

Soweit ich weiß, erzwingen eindeutige Indizes nur die Eindeutigkeit über verschiedene Dokumente hinweg, sodass dies einen doppelten Schlüsselfehler auslösen würde:

db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )

Aber das ist erlaubt:

db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )

Ich bin mir nicht sicher, ob es eine Möglichkeit gibt, die Einschränkung, die Sie benötigen, auf Mongo-Ebene durchzusetzen, vielleicht ist es etwas, das Sie in der Anwendungslogik überprüfen könnten, wenn Sie ein Update einfügen?