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

et feltnavn ClassName bliver indsat i mongodb af morphia

Du kan udtrykkeligt deaktivere className attribut:@Entity(noClassnameStored = true)

Jeg undertrykker generelt attributten, hvis der er en enkelt enhedsklasse. Hvis jeg underklasser min enhed, aktiverer jeg den eksplicit (hvilket er standard, men bare for at være sikker).

Hvis jeg ikke tager fejl, er Morphia klog nok til at gætte den korrekte underklasse baseret på egenskaberne, selvom der ikke er nogen className (baseret på refleksion). Så hvis du har en attribut mongoKnowledge i din underklasse Udvikler af Person og din underklasse Manager ikke har det, vil Morphia vide, at dokumenter med mongoKnowledge skal være af klassen Udvikler . Så strengt taget className er kun påkrævet, hvis dine underklasser har de samme attributter; jeg ville dog ikke stole for meget på det.

Jeg har ikke prøvet at omdøbe enhedsklasserne, men det vil sandsynligvis give problemer. Der er et langvarigt problem med at give en @Polimorphic anmærkning og at rette den sammen med det. Se https://code.google.com/p/morphia/issues/detail?id=22



  1. Hvordan implementerer man Redis i CodeIgniter?

  2. Python-databaseprogrammering med MongoDB for begyndere

  3. mongodb mislykkedes:fejl ved forbindelse til db-server:ingen tilgængelige servere

  4. Hvordan konfigurerer man en forbindelse til Redis Sentinel ved hjælp af Jedis-biblioteket?