MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB Java Inserting Throws org.bson.codecs.configuration.CodecConfigurationException:Nie można znaleźć kodeka dla klasy io.github.ilkgunel.mongodb.Pojo

Wygląda na to, że próbujesz dodać jakiś niestandardowy typ danych (w tym przypadku POJO), ale musisz pamiętać, że pola w dokumentach mogą akceptować tylko określone typy danych, a nie obiekty bezpośrednio .

Jeśli nie wiesz, Mongo Documents mają taką samą strukturę jak json. Musisz więc jawnie utworzyć dokumenty, tworząc pola i wstawiając do nich wartości. Istnieją określone typy danych, które są dozwolone w polach wartości:

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

Aby pomóc w twojej sprawie, poniższy kod przyjmuje twoje POJO jako parametr i znając strukturę POJO, zwraca dokument Mongo, który można wstawić do twojej kolekcji:

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;
} 

Powinno to działać w przypadku wstawiania. Jeśli chcesz zaindeksować jedno z pól:

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

Mam nadzieję, że to odpowiada na Twoje pytanie i działa dla Ciebie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dodaj nowe pole do każdego dokumentu w kolekcji MongoDB

  2. Jak znaleźć podciąg w polu w Mongodb

  3. MongoDB $sinh

  4. Meteor.js wdrożyć na example.com lub www.example.com?

  5. Jak uruchomić Mongo DB z systemu Windows?