MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

ConversionFailedException:запазване на DBObject, но извличането връща LinkedHashMap

грешката ви вероятно е точно това, което пише във вашето изключение:ConversionFailed Exception причинено от някой/нещо, което се опитва да конвертира от ArrayList към LinkedHashMap; но просто няма подходящ конвертор за това (ConverterNotFoundException ).

къде точно се случва това е невъзможно да се каже, тъй като сте публикували само много малко код. не мога да намеря низа "myString" във вашия код, но той е споменат в грешката.

spring data обикновено използва конвертори в своя процес на картографиране. за да имат повече контрол върху процеса на картографиране, някои хора предпочитат да внедрят и регистрират персонализиран конвертор за своите класове.

можете да прочетете за конверторите тук

http://docs.spring.io/spring-data/data-mongo/docs/current/reference/html/mongo.core.html#mongo.custom-converters

и тук

http://docs .spring.io/spring/docs/current/spring-framework-reference/html/validation.html#core-convert

може би това вече ще е достатъчно, за да коригирате грешката сами.

Редактиране:кратък коментар за този ред:

potentialCandidatesObj.setPotentialcandidates((DBObject)JSON.parse(valStr));

изпълнявате кастинг към DBObject, преди да извикате сетера, защото сетерът взема DBObject. това е лошо, трябва да създадете друг сетер за JSON и да извършите кастинга там, или в крайна сметка ще извършите тази операция за кастинг навсякъде във вашия код; това не е много СУХО.

има също така нещо, наречено DBRefs в пролетните данни:The mapping framework doesn't have to store child objects embedded within the document. You can also store them separately and use a DBRef to refer to that document. When the object is loaded from MongoDB, those references will be eagerly resolved and you will get back a mapped object that looks the same as if it had been stored embedded within your master document. може да предпочетете това пред вграден DBObject.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PHP MongoDB агрегира $match и $group и $addToSet

  2. Съхранявайте файл с изображение в двоични данни в схема на mongoose и показвайте изображение в html форма

  3. Как да преброим продуктовата група с име на поле в Monogodb?

  4. Как да вмъкнете вложени обекти в MongoDB с Laravel 5?

  5. MongoDB - Как да намерите отделни стойности въз основа на частичен низ