Mustafa, unieke beperkingen worden niet afgedwongen binnen een enkele array, hoewel ze wel worden afgedwongen tussen documenten in een verzameling. Dit is een bekende bug die voorlopig niet verholpen zal worden:
https://jira.mongodb.org/browse/SERVER-1068
Er is echter een oplossing. Houd uw unieke index op zijn plaats en:
1) Zorg ervoor dat uw toepassing geen nieuwe documenten met dubbele waarden in de array invoegt. U kunt de uniciteit van uw applicatiecode controleren voordat u deze invoegt.
2) Gebruik bij het bijwerken van bestaande documenten $addToSet in plaats van $push.