sql >> Databáze >  >> NoSQL >> MongoDB

Přejmenujte ObjectId _id na id v jackson deserializaci s Jongo a MongoDB

ObjectIdSerializer vždy zapíše vlastnost mapovanou pomocí @ObjectId do nové instance ObjectId. To je špatně, když mapujete tuto vlastnost na řetězec.

Abych se tomuto chování vyhnul, napsal jsem NoObjectIdSerializer :

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

používá se takto :

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

Existuje otevřený problém.



  1. Ověření MongoDB 3.2 se nezdařilo

  2. MongoDB $atan

  3. Vytvořte reaktivní publikaci s dalšími poli v každém dokumentu

  4. Jarní data MongoDb:MappingMongoConverter odstraňte _class