Mustafa, eindeutige Einschränkungen werden nicht innerhalb eines einzelnen Arrays erzwungen, obwohl sie zwischen Dokumenten in einer Sammlung erzwungen werden. Dies ist ein bekannter Fehler, der für eine Weile nicht behoben wird:
https://jira.mongodb.org/browse/SERVER-1068
Es gibt jedoch eine Problemumgehung. Behalten Sie Ihren eindeutigen Index bei und:
1) Stellen Sie sicher, dass Ihre Anwendung keine neuen Dokumente mit doppelten Werten in das Array einfügt. Sie können Ihren Anwendungscode vor dem Einfügen auf Eindeutigkeit prüfen.
2) Verwenden Sie beim Aktualisieren vorhandener Dokumente $addToSet anstelle von $push.