O ile mi wiadomo, unikalne indeksy wymuszają unikalność tylko w różnych dokumentach, więc spowoduje to zduplikowany błąd klucza:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
Ale jest to dozwolone:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )
Nie jestem pewien, czy jest jakiś sposób wymuszenia ograniczenia, którego potrzebujesz na poziomie Mongo, może jest to coś, co możesz sprawdzić w logice aplikacji podczas wstawiania aktualizacji?