MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

ConversionFailedException:Mempertahankan DBObject tetapi mengambil mengembalikan LinkedHashMap

kesalahan Anda mungkin persis seperti yang tertulis dalam pengecualian Anda:ConversionFailed Exception disebabkan oleh seseorang/sesuatu yang mencoba mengonversi dari ArrayList ke LinkedHashMap; tetapi tidak ada konverter yang cocok untuk itu (ConverterNotFoundException ).

di mana tepatnya ini terjadi tidak mungkin dikatakan karena Anda hanya memposting sedikit kode. saya tidak dapat menemukan String "myString" dalam kode Anda, namun disebutkan dalam kesalahan.

data pegas biasanya menggunakan konverter dalam proses pemetaannya. untuk memiliki kontrol lebih besar atas proses pemetaan, beberapa orang lebih suka menerapkan dan mendaftarkan konverter khusus untuk kelas mereka.

Anda dapat membaca tentang konverter di sini

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

dan di sini

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

mungkin ini sudah cukup bagi Anda untuk memperbaiki kesalahan sendiri.

Sunting:komentar singkat tentang baris ini:

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

Anda melakukan casting ke DBObject sebelum memanggil setter, karena setter mengambil DBObject. ini buruk, Anda harus membuat penyetel lain untuk JSON dan melakukan casting di sana, atau Anda akan berakhir melakukan operasi casting itu di mana-mana dalam kode Anda; itu tidak terlalu KERING.

ada juga sesuatu yang disebut DBRefs di data pegas: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. Anda mungkin lebih suka ini daripada objek DBO yang disematkan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ketika server mongodb sedang down, bagaimana cara menangkap kesalahan saat menjalankan kueri luwak

  2. Pencarian teks MongoDb dengan dukungan bahasa

  3. Luwak atau kueri

  4. Caching koneksi MongoDB di Django

  5. bagaimana saya bisa menulis ulang kueri luwak saya setelah memisahkan data dari satu model menjadi dua?