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

findAll selže po reinicializaci hry morphia

Má závislý modul jinou alternativní deklaraci tříd Page orModel?

Z horní části trasování zásobníku ("com.google.code.morphia.mapping.MappingException:Chyba při nastavení hodnoty z převodníku (LongConverter) pro modely.Page.navigationId na 20000") to vypadá, že mezi způsobem došlo k neshodě typu ukládá se a načítá se číselná hodnota. Například v Javě není neobvyklé uložit něco jako Double a pak se to omylem pokusit získat jako Integer nebo Long. Můžete tedy ověřit, že deklarace navigačního ID v závislém modulu je stejná jako ta, kterou jste zde uvedli? Měli by sdílet definici, ale je možné, že existuje alternativa.

Další věc, kterou je třeba zkontrolovat, je, že váš kód vkládá Long do yourDBObject a ne float. Pokud jej například vkládáte přes shell, budete muset použít jeden z obalů, např.

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

V opačném případě to také způsobí nesoulad při načítání; ve výchozím nastavení jsou čísla v JavaScriptu dvojnásobná.




  1. MongoDB oplog má záznamy s tečkami v názvech klíčů, na které nelze vyhledávat, afaict

  2. pomocí akka streamů procházet sbírkou mongo

  3. MongoDB Shell – přístup ke kolekci s tečkou v názvu?

  4. Ověření Mongoose:povinné:nepravda, ověření:regulární výraz, problémy s prázdnými hodnotami