Gli indici univoci esistono solo nella raccolta. Per imporre l'unicità e altri vincoli nel documento, è necessario farlo nel codice client. (Probabilmente le raccolte virtuali lo consentirebbero, potresti votarlo.)
Quello che stai cercando di fare nel tuo caso è creare un indice sulla chiave Items.Name
che non esiste in nessuno dei documenti (non si riferisce a documenti incorporati all'interno dell'array Items
), quindi è null
e viola il vincolo univoco in tutta la raccolta.