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

Jak serializować ObjectId do JSON?

Wygląda na to, że Jackson został dostosowany do serializacji pola identyfikatora ciągu w specjalny sposób. To prawdopodobnie część integracji z org.bson biblioteka.

Problem polega na tym, że twój deserializator jest sparametryzowany przez ObjectId wpisz zamiast String lub zwykły Object . Spróbuj to zmienić w następujący sposób, a także usuń @ObjectId adnotacja z deklaracji pola. Oto przykład:

public class ObjectIdSerializer extends JsonSerializer<Object> {
    @Override
    public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
        jsonGen.writeString(value.toString());
    }
}

Możesz również rozważyć przyjęcie klasy dostawcy Jackson-Jongo naprawić serializację identyfikatora obiektu dla wszystkich klas.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB łączy liczbę elementów kolekcji powiązanych z innymi wynikami kolekcji

  2. W Jongo, jak znaleźć wiele dokumentów z Mongodb według listy identyfikatorów?

  3. Tworzenie formularza do edycji osadzonych dokumentów za pomocą MongoMapper

  4. MongoDB + Node.js:nie można poprawnie wstawić daty

  5. MongoDB działa wolno pod obciążeniem