Eindeutige Indizes sind nur sammlungsübergreifend vorhanden. Um Eindeutigkeit und andere Einschränkungen im gesamten Dokument zu erzwingen, müssen Sie dies im Clientcode tun. (Wahrscheinlich würden virtuelle Sammlungen das erlauben, man könnte dafür stimmen.)
In Ihrem Fall versuchen Sie, einen Index für den Schlüssel Items.Name
zu erstellen das in keinem der Dokumente existiert (es bezieht sich nicht auf eingebettete Dokumente im Array Items
), also null
und verletzt die Eindeutigkeitsbeschränkung in der gesamten Sammlung.