sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan sikrer man en unik vare i et array baseret på specifikke felter - mongoDB?

Mustafa, unikke begrænsninger håndhæves ikke inden for et enkelt array, selvom de håndhæves blandt dokumenter i en samling. Dette er en kendt fejl, som ikke vil blive rettet i et stykke tid:

https://jira.mongodb.org/browse/SERVER-1068

Der er dog en løsning. Hold dit unikke indeks på plads, og:

1) Sørg for, at din applikation ikke indsætter nye dokumenter med duplikerede værdier i arrayet. Du kan kontrollere, om din applikationskode er unik, før du indsætter.

2) Når du opdaterer eksisterende dokumenter, brug $addToSet i stedet for $push.




  1. Hvordan implementerer man server push i Flask framework?

  2. Transaktionsopret med validering i ServiceStack Redis Client

  3. spring-redis kan ikke oprette forbindelse til fjernvært

  4. 5 måder at kontrollere størrelsen på en samling i MongoDB