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

Morphia projektionsadfærd for eksempel variabel med standardværdi

Når Morphia læser dine dokumenter fra forespørgselsresultaterne, er den første ting, den gør, at oprette en ny forekomst af din enhed, Student . Det påberåber sig blot no argument-konstruktøren. Der er ingen magi involveret. Byfeltet initialiseres med en værdi. Når det er gjort, vil Morphia tage hver nøgle i dokumentet, der returneres fra databasen, finde det tilknyttede felt og indstille det. I dit tilfælde er der ikke bynøgle i dokumentet, og det felt bliver aldrig sat af Morphia, som efterlader den initialiserede værdi på plads.

Generelt er initialisering af felter på enheder som dette en dårlig praksis. For hver enhed, der indlæses fra databasen, skal JVM'en initialisere disse felter til en eller anden værdi for kun at overskrive dem senere. I tilfælde som dit, hvor visse felter ikke kommer tilbage i et forespørgselsresultat, forbliver disse værdier efter Morphia returnerer de nye forekomster tilbage til din applikation.




  1. render_template med flere variabler

  2. log alle forespørgsler, som mongoose brand i applikationen

  3. MongoDB:hvordan sammenligner man $størrelse af array med et andet dokumentelement?

  4. Hvordan kan jeg finde sessions-id'et, når jeg bruger express / connect og en session store?