sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur lägger man till ett sista fält i en befintlig vår-data-mongodb-dokumentsamling?

Jag upptäckte att det inte är möjligt att lägga till en ny private final till en befintlig samling med endast @PersistenceContstructor anteckning. Istället behövde jag lägga till en org.springframework.core.convert.converter.Converter implementering för att hantera logiken åt mig.

Så här såg min omvandlare ut:

@ReadingConverter
public class SnapshotReadingConverter implements Converter<DBObject, Snapshot> {

    @Override
    public Snapshot convert(DBObject source) {
        long id = (Long) source.get("_id");
        String description = (String) source.get("description");
        boolean active = (Boolean) source.get("active");
        boolean billable = false;
        if (source.get("billable") != null) {
            billable = (Boolean) source.get("billable");
        }
        return new Snapshot(id, description, active, billable);
    }
}

Jag hoppas att detta kan hjälpa någon annan i framtiden.




  1. Tryck in värden i mongodb-databasens array genom (sails js) vattenlinjen

  2. (nod:71307) [DEP0079] DeprecationWarning

  3. MongoDB updateOne()

  4. Schema har inte registrerats för modellen. Mongodb>Mangoose