sql >> Databasteknik >  >> NoSQL >> MongoDB

findAll misslyckas efter att spelmorphia har återinitierats

Har den beroende modulen en annan alternativ deklaration av klasserna Sida eller Modell?

Från toppen av stackspårningen ("com.google.code.morphia.mapping.MappingException:Felinställningsvärde från omvandlaren (LongConverter) för models.Page.navigationId till 20000"), ser det ut som att det finns en typfel överensstämmelse mellan vägen ett numeriskt värde lagras och hämtas. Till exempel i Java är det inte ovanligt att lagra något som en dubbel och sedan av misstag försöka hämta det som ett heltal eller ett långt. Så, kan du verifiera att deklarationen av navigations-ID i den beroende modulen är densamma som den du har visat här? De borde dela definitionen, men det är möjligt att det finns en alternativ.

En annan sak att kontrollera är att din kod lägger en Long i dittDBObject och inte en float. Om du till exempel sätter in den via skalet, måste du använda en av omslagen, t.ex.

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

Annars kommer detta också att orsaka en missmatchning när du hämtar den; som standard är siffror i JavaScript dubbla.




  1. mongologgrotation fungerar inte på Windows

  2. dial tcp [::1]:6397:connectex:Ingen anslutning kunde göras eftersom målmaskinen aktivt vägrade det

  3. Hur FILTRER jag returnerad data mellan två datum från mongodb med hjälp av en aggregering:matchning, lookup och projekt?

  4. Node.js kan inte ansluta till MongoDB