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

MongoDB Java Inserting Throws org.bson.codecs.configuration.CodecConfigurationException:Не мога да намеря кодек за клас io.github.ilkgunel.mongodb.Pojo

От външния вид на това, което се опитвате да направите, вие се опитвате да добавите някакъв персонализиран тип данни (в този случай вашия POJO), но това, което трябва да имате предвид е, че полетата в документите могат да приемат само определени типове данни, а не обекти директно .

В случай, че и вие не сте знаели, документите на Mongo са структурирани по същия начин като json. Така че трябва изрично да създадете документите, като създадете полетата и вмъкнете стойностите в тях. Има специфични типове данни, които са разрешени в полетата за стойности:

http://mongodb.github.io/mongo-java-driver/3.0/bson/documents/

За да помогне с вашия случай, кодът по-долу приема вашия POJO като параметър и знаейки структурата на POJO, връща документ Mongo, който може да бъде вмъкнат във вашата колекция:

private Document pojoToDoc(Pojo pojo){
    Document doc = new Document();

    doc.put("Name",pojo.getName());
    doc.put("Surname",pojo.getSurname());
    doc.put("id",pojo.getId());

    return doc;
} 

Това трябва да работи за вмъкване. Ако искате да индексирате едно от полетата:

database.getCollection("Records").createIndex(new Document("id", 1));

Надявам се това да отговори на въпроса ви и да работи за вас.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Опитвам се да стартирам mongod сървър на ubuntu:изключение в initAndListen:29 Директория с данни /data/db не е намерена., прекратяване

  2. Актуализирайте модела с Mongoose, Express, NodeJS

  3. Добавяне/изваждане на дни към ISODate в MongoDB Shell

  4. MongoDB - Актуализиране или вмъкване на обект в масив

  5. Визуална статистика за вашия MongoDB сървър