Så vidt jeg ved, håndhæver unikke indekser kun unikhed på tværs af forskellige dokumenter, så dette ville give en dubletnøglefejl:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
Men dette er tilladt:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )
Jeg er ikke sikker på, om der er nogen måde at håndhæve den begrænsning, du har brug for på Mongo-niveau, måske er det noget, du kan tjekke i applikationslogikken, når du indsætter en opdatering?