sql >> Databasteknik >  >> NoSQL >> MongoDB

ConversionFailedException:Om ett DBO-objekt kvarstår men hämtas returneras en LinkedHashMap

ditt fel är förmodligen exakt vad det står i ditt undantag:ett ConversionFailed Exception orsakas av någon/något som försöker konvertera från ArrayList till en LinkedHashMap; men det finns bara ingen passande omvandlare för det (ConverterNotFoundException ).

var exakt detta händer är omöjligt att säga eftersom du bara postade väldigt lite kod. Jag kan inte hitta strängen "myString" i din kod, men den nämns i felet.

vårdata använder vanligtvis omvandlare i sin kartläggningsprocess. för att ha mer kontroll över kartläggningsprocessen föredrar vissa människor att implementera och registrera en anpassad omvandlare för sina klasser.

du kan läsa om omvandlare här

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

och här

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

kanske räcker detta redan för att du själv ska kunna fixa felet.

Edit:en kort kommentar om denna rad:

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

du castar till DBObject innan du anropar sättaren, eftersom sättaren tar ett DBObject. det här är dåligt, du bör skapa en annan sättare för JSON och göra castingen där, annars kommer du att göra den castingen överallt i din kod; det är inte särskilt torrt.

det finns också något som kallas DBRefs i vårdata: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. du kanske föredrar detta framför ett inbäddat DBO-objekt.




  1. Installera Memcached på CentOS 8

  2. Det går inte att använda BsonIgnoreIfDefault för egenskap av typen long

  3. mongodb-fråga för att matcha varje element i doc-arrayen till ett villkor

  4. Flytta ett element från en array till en annan inom samma dokument MongoDB