sql >> Database >  >> NoSQL >> MongoDB

Juiste manier om schemawijzigingen in MongoDB af te handelen met java-stuurprogramma

Ik denk dat je eerlijk gezegd al een hint hebt gegeven naar het eenvoudigste antwoord.

Werk eerst uw gegevenstoegangslaag bij om zowel het nieuwe als het oude schema te verwerken:invoegingen en updates moeten zowel het nieuwe als het oude bijwerken om de zaken gesynchroniseerd te houden. Query's zouden alleen naar het oude schema moeten kijken, aangezien dit op dit moment de bron van het record is.

Kopieer vervolgens alle gegevens van het oude naar het nieuwe schema.

Werk vervolgens de gegevenstoegang bij om nu de nieuwe gegevens op te vragen. Hierdoor blijven de oude gegevens up-to-date, maar kunnen de nieuwe gegevens volledig worden getest voordat er wijzigingen worden aangebracht die ertoe leiden dat de twee gegevenssets niet meer synchroon lopen. Het zal ook helpen bij het vergemakkelijken van doorlopende updates (dwz toepassingen met zowel nieuwe als oude gegevenstoegangscode zullen nog steeds tegelijkertijd functioneren.

Werk ten slotte de gegevenstoegangslaag bij om alleen toegang te krijgen tot het nieuwe schema en verwijder vervolgens de oude gegevens.

Met uitzondering van deze laatste fase, kunt u altijd teruggaan naar de vorige versie als u problemen ondervindt.




  1. Vreemd gedrag van MongoDB LINQ-provider voor velden met de naam id

  2. Query met tekenreeksdatumnotatie in mongodb

  3. krijg alle documenten met maximale waarde met behulp van aggregatie in mongodb

  4. MongoDB $pull