Sejauh yang saya tahu, indeks unik hanya menerapkan keunikan di berbagai dokumen, jadi ini akan menimbulkan kesalahan kunci duplikat:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
Tapi ini diperbolehkan:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )
Saya tidak yakin apakah ada cara untuk menegakkan batasan yang Anda butuhkan di tingkat Mongo, mungkin itu sesuatu yang bisa Anda periksa di logika aplikasi saat Anda memasukkan pembaruan?