Så vitt jag vet upprätthåller unika index bara unikhet över olika dokument, så detta skulle leda till ett dubblettnyckelfel:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
Men detta är tillåtet:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )
Jag är inte säker på om det finns något sätt att genomdriva begränsningen du behöver på Mongo-nivå, kanske det är något du kan kontrollera i applikationslogiken när du infogar en uppdatering?