Voor zover ik weet, dwingen unieke indexen alleen uniciteit af in verschillende documenten, dus dit zou een dubbele sleutelfout opleveren:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
Maar dit is toegestaan:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )
Ik weet niet zeker of er een manier is om de beperking die je nodig hebt op Mongo-niveau af te dwingen, misschien is het iets dat je in de applicatielogica kunt controleren wanneer je een update invoegt?