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

findAll mislykkes, efter at spillemorphia er geninitialiseret

Har det afhængige modul en anden alternativ erklæring af side- eller modelklasserne?

Fra toppen af ​​stak-sporingen ("com.google.code.morphia.mapping.MappingException:Fejl ved indstilling af værdi fra konverter (LongConverter) for models.Page.navigationId til 20000"), ser det ud til, at der er en type uoverensstemmelse mellem måden en numerisk værdi bliver gemt og hentet. For eksempel i Java er det ikke ualmindeligt at gemme noget som en Double og derefter fejlagtigt forsøge at hente det som et heltal eller et langt. Så kan du verificere, at erklæringen om navigations-id i det afhængige modul er den samme som den, du har vist her? De burde dele definitionen, men det er muligt, at der er en alternativ.

En anden ting at kontrollere er, at din kode sætter en Long i ditDBObject og ikke en float. Hvis du f.eks. indsætter den via skallen, skal du bruge en af ​​indpakningerne, f.eks.

db.Page.save({_id:NumberLong(20000)});

Ellers vil dette også forårsage et mismatch, når du henter det; som standard er tal i JavaScript dobbelte.




  1. MongoDB:Hvordan finder man efter underdokument-id?

  2. Sådan sletter du MongoDB-dokumenter ved at importere en fil

  3. Få de sidste dokumenter med et særskilt kriterium

  4. gem IP-adresse i mongoDB