MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak dodać ostatnie pole do istniejącej kolekcji dokumentów spring-data-mongodb?

Odkryłem, że nie można dodać nowego private final pole do istniejącej kolekcji przy użyciu tylko @PersistenceContstructor adnotacja. Zamiast tego musiałem dodać org.springframework.core.convert.converter.Converter implementacja do obsługi logiki za mnie.

Oto, jak wyglądał mój konwerter:

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

Mam nadzieję, że w przyszłości pomoże to komuś innemu.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Rozwiązywanie problemów z MongoDB w systemie Windows (C#) (Co robić?)

  2. Jak zadeklarować nazwę kolekcji i nazwę modelu w manguście?

  3. Współpraca MongoDB lazy loading z Jacksonem @JsonIgnore w SpringBoot Rest Controller

  4. MongoDB:liczba pasujących elementów tablicy zagnieżdżonej

  5. Mongo Mapa Zmniejsz pierwszy raz