Мустафа, уникалните ограничения не се прилагат в рамките на един масив, въпреки че се прилагат между документи в колекция. Това е известна грешка, която няма да бъде коригирана известно време:
https://jira.mongodb.org/browse/SERVER-1068
Все пак има решение. Поддържайте своя уникален индекс на място и:
1) Уверете се, че приложението ви не вмъква нови документи с дублиращи се стойности в масива. Можете да проверите за уникалност в кода на приложението си, преди да го вмъкнете.
2) Когато актуализирате съществуващи документи, използвайте $addToSet вместо $push.