sql >> Database >  >> NoSQL >> MongoDB

Hoe voeg ik een laatste veld toe aan een bestaande lente-data-mongodb-documentverzameling?

Ik heb geconstateerd dat het niet mogelijk is om een ​​nieuwe private final toe te voegen veld naar een bestaande verzameling met alleen de @PersistenceContstructor annotatie. In plaats daarvan moest ik een org.springframework.core.convert.converter.Converter toevoegen implementatie om de logica voor mij af te handelen.

Dit is hoe mijn converter er uiteindelijk uitzag:

@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);
    }
}

Ik hoop dat dit iemand anders in de toekomst kan helpen.




  1. Hoe schalen echt werkt in Apache HBase

  2. Bepaal in een mongodb-groep / kaartopdracht het percentage van het totaal van de groep

  3. Meteor strategieën voor publiceren/abonneren voor unieke client-side collecties

  4. Hoe te aggregeren op jaar-maand-dag in een andere tijdzone