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

Ganti nama ObjectId _id menjadi id dalam deserialisasi jackson dengan Jongo dan MongoDB

ObjectIdSerializer selalu menulis properti yang dipetakan dengan @ObjectId ke instance baru ObjectId. Ini salah ketika Anda memetakan properti ini ke sebuah String.

Untuk menghindari perilaku ini, saya telah menulis NoObjectIdSerializer :

public class NoObjectIdSerializer extends JsonSerializer<String> {
    @Override
    public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
        jgen.writeString(value);
    }
}

digunakan seperti ini :

@ObjectId
@JsonSerialize(using = NoObjectIdSerializer.class)
protected final String _id;

Ada masalah terbuka.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb menghitung jumlah nilai yang berbeda per bidang/kunci

  2. Perbarui array dengan beberapa kondisi di mongodb

  3. Buat serial satu kelas dalam dua cara berbeda dengan Jackson

  4. Praktik terbaik untuk mempertahankan sesi mgo

  5. Mendapatkan agregasi yang berbeda dari bidang array di seluruh indeks