sql >> Databáze >  >> NoSQL >> MongoDB

Správný způsob, jak zvládnout změny schématu v MongoDB pomocí ovladače Java

Myslím, že jste upřímně již naznačil nejjednodušší odpověď.

Nejprve aktualizujte vrstvu přístupu k datům, aby zvládla nové i staré schéma:Vložky a aktualizace by měly aktualizovat nové i staré, aby byly věci synchronizované. Dotazy by se měly dívat pouze na staré schéma, protože je v tomto okamžiku zdrojem záznamu.

Poté zkopírujte všechna data ze starého do nového schématu.

Poté aktualizujte přístup k datům, abyste nyní dotazovali nová data. To udrží stará data aktualizovaná, ale umožní úplné testování nových dat před provedením jakýchkoli změn, které způsobí, že obě sady dat nebudou synchronizovány. Pomůže také usnadnit průběžné aktualizace (tj. aplikace s novým i starým přístupovým kódem k datům budou stále fungovat současně.

Nakonec aktualizujte vrstvu přístupu k datům, abyste měli přístup pouze k novému schématu, a poté smažte stará data.

Kromě této poslední fáze se v případě problémů můžete vždy vrátit k předchozí verzi.




  1. jak odstranit pole s hodnotou null po zrušení nastavení v mongodb

  2. Redis seznam vnořených klíčů

  3. Mongodb $ kde dotaz vždy platí s nodejs

  4. $vyhledat více úrovní bez $unwind?