MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ein eindeutiges Element in einem Array basierend auf bestimmten Feldern sichergestellt werden - MongoDB?

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.