Mustafa, batasan unik tidak diterapkan dalam satu larik, meskipun diterapkan di antara dokumen dalam koleksi. Ini adalah bug yang diketahui yang tidak akan diperbaiki untuk sementara waktu:
https://jira.mongodb.org/browse/SERVER-1068
Ada solusi, meskipun. Simpan indeks unik Anda di tempatnya, dan:
1) Pastikan aplikasi Anda tidak memasukkan dokumen baru dengan nilai duplikat dalam larik. Anda dapat memeriksa keunikan dalam kode aplikasi Anda sebelum memasukkan.
2) Saat memperbarui dokumen yang ada, gunakan $addToSet alih-alih $push.