sql >> Databasteknik >  >> NoSQL >> MongoDB

Byt namn på ObjectId _id till id i Jacksons deserialisering med Jongo och MongoDB

ObjectIdSerializer skriver alltid egenskap mappad med @ObjectId till en ny instans av ObjectId. Detta är fel när du mappar den här egenskapen till en sträng.

För att undvika detta beteende har jag skrivit en NoObjectIdSerializer :

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

används så här :

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

Det finns ett öppet problem.



  1. Genomsnittligt ett underdokumentfält över dokument i Mongo

  2. Avrundning till 2 decimaler med MongoDB-aggregationsramverk

  3. En säkerhetschecklista för MongoDB-produktionsinstallationer

  4. Jag behöver hämta MongoDBs objekt bara med filtereds array-objekt