sql >> Database teknologi >  >> NoSQL >> MongoDB

Omdøb ObjectId _id til id i jackson-deserialisering med Jongo og MongoDB

ObjectIdSerializer skriver altid egenskaber tilknyttet med @ObjectId til en ny forekomst af ObjectId. Dette er forkert, når du knytter denne egenskab til en streng.

For at undgå denne adfærd har jeg skrevet en NoObjectIdSerializer :

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

brugt sådan her :

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

Der er et åbent problem.



  1. gradle bygge lokale værker. I docker-container gør det ikke. HVORFOR?

  2. Mongodb aggregering $gruppe, begræns længden af ​​array

  3. hvordan man administrerer _id felt, når man bruger POCO med mongodb c# driver

  4. Fjernelse af hvide mellemrum (førende og efterfølgende) fra strengværdi