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

Jak přesně spring-data-mongodb zpracovává konstruktory při rehydrataci objektů?

Populační proces je dvojí a do určité míry ortogonální. Většinou jste již uvedli správné chování. Konstruktor je vyvolán k vytvoření instance objektu. Hodnoty parametrů jsou načteny z DBObject číst a může způsobit rekurzivní vytváření objektů v případě, že do konstruktoru předáte složité objekty, které je třeba uvolnit z vnořeného DBObject .

Dalším krokem je vyplnění vašich trvalých polí. Jediný rozdíl ve vašem případě od případu s výchozím konstruktorem je ten, že si pamatujeme hodnoty polí, které jste konstruktoru předali, a znovu je nevyplňujeme.

date vlastnost ve vašem příkladu by se i po inicializaci v konstruktoru nastavila if zdrojový dokument, ze kterého je objekt materializován, obsahuje hodnotu date .




  1. Kolekce Mongodb jako dynamická

  2. Nodejs UUIDv4 vytváří konstantní hodnotu id při použití v Mongoose

  3. Stav sady repliky MonogoDB Nemění se ze spuštění na sekundární

  4. Loop nevydává na základě dotazu hodnotu true nebo false