Como você descobriu, adicionar um índice exclusivo a um campo de uma matriz não impõe exclusividade na matriz, mas garante que não haja dois documentos na coleção contêm o mesmo valor de campo na matriz.
Em vez disso, veja o
$addToSet
operador de matriz como uma forma de adicionar atomicamente um valor a uma matriz somente se ainda não estiver na matriz.