Comme vous l'avez découvert, l'ajout d'un index unique à un champ d'un tableau n'impose pas l'unicité dans le tableau, il garantit qu'aucun documents dans la collection contiennent la même valeur de champ dans le tableau.
Au lieu de cela, regardez le $addToSet
opérateur de tableau comme moyen d'ajouter de manière atomique une valeur à un tableau uniquement s'il n'est pas déjà dans le tableau.