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

Korrekt måde at håndtere skemaændringer i MongoDB med java-driver

Jeg tror, ​​du ærligt talt allerede har antydet det enkleste svar.

Først skal du opdatere dit dataadgangslag for at håndtere både det nye og det gamle skema:Indsættelser og opdateringer bør opdatere både det nye og det gamle for at holde tingene synkroniseret. Forespørgsler bør kun se på det gamle skema, da det er kilden til registrering på dette tidspunkt.

Kopier derefter alle data fra det gamle til det nye skema.

Opdater derefter dataadgangen for nu at forespørge om de nye data. Dette vil holde de gamle data opdaterede, men vil tillade fuld test af de nye data, før der foretages ændringer, der vil resultere i, at de to sæt data er ude af synkronisering. Det vil også hjælpe med at lette rullende opdateringer (dvs. applikationer med både ny og gammel dataadgangskode vil stadig fungere på samme tid.

Til sidst skal du opdatere dataadgangslaget til kun at få adgang til det nye skema og derefter slette de gamle data.

Bortset fra denne sidste fase, kan du altid rulle tilbage til den tidligere version, hvis du skulle støde på problemer.




  1. arrayFilters på mongodb php-opdatering

  2. MongoDB:upsert underdokument

  3. MySQL eksport til MongoDB

  4. Kører MongoDB med Ops Manager