MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

ConversionFailedException:Duy trì một DBObject nhưng việc truy xuất trả về một LinkedHashMap

lỗi của bạn có thể đúng như những gì nó nói trong ngoại lệ của bạn:ConversionFailed Exception gây ra bởi ai đó / điều gì đó đang cố gắng chuyển đổi từ ArrayList tới một LinkedHashMap; nhưng không có công cụ chuyển đổi phù hợp cho điều đó (ConverterNotFoundException ).

Không thể nói chính xác điều này đang xảy ra ở đâu vì bạn chỉ đăng rất ít mã. tôi không thể tìm thấy Chuỗi "myString" trong mã của bạn, nhưng nó được đề cập trong lỗi.

dữ liệu mùa xuân thường sử dụng bộ chuyển đổi trong quá trình ánh xạ của nó. để có nhiều quyền kiểm soát hơn đối với quá trình ánh xạ, một số người thích triển khai và đăng ký một trình chuyển đổi tùy chỉnh cho các lớp của họ.

bạn có thể đọc về trình chuyển đổi tại đây

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

và ở đây

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

có lẽ điều này đã đủ để bạn tự sửa lỗi.

Chỉnh sửa:một nhận xét ngắn về dòng này:

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

bạn đang truyền tới DBObject trước khi gọi bộ thiết lập, bởi vì bộ thiết lập lấy một DBObject. điều này thật tệ, bạn nên tạo một trình thiết lập khác cho JSON và thực hiện truyền ở đó, nếu không bạn sẽ thực hiện thao tác truyền đó ở mọi nơi trong mã của mình; đó không phải là rất KHÔ.

còn có một thứ gọi là DBRefs trong dữ liệu mùa xuân: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. bạn có thể thích điều này hơn một DBObject được nhúng.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách sao chép một bộ sưu tập từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong MongoDB

  2. MongoDB:Không nhận được kết quả chính xác khi sử dụng toán tử $ geoWithin

  3. MongoDB - số lượng lớn các chủ đề MongoCleaner

  4. MongoEngine - Trường đã xóa vẫn làm tăng ValidationError

  5. Làm cách nào để thay đổi / xác định cơ sở dữ liệu mặc định của Mongodb trong Spring-data?