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

Jak przekonwertować BigDecimal na Double w frameworku spring-data-mongodb

Oto jak możesz dodać własne konwertery:

<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
    <constructor-arg ref="mongoDbFactory"/>
    <constructor-arg ref="mappingConverter"/>
    <property name="writeConcern">
        <util:constant static-field="com.mongodb.WriteConcern.FSYNC_SAFE"/>
    </property>
    <property name="writeResultChecking">
        <util:constant static-field="org.springframework.data.mongodb.core.WriteResultChecking.EXCEPTION"/>
    </property>
</bean>

<mongo:mapping-converter id="mappingConverter">
    <mongo:custom-converters base-package="com.vladmihalcea.**.mongo.converter"/>
</mongo:mapping-converter>

Teraz Twoje konwertery będą wyglądać tak:

@Component
public class DoubleToBigDecimalConverter implements Converter<Double, BigDecimal> {

    @Override
    public BigDecimal convert(Double source) {
        return new BigDecimal(source);
    }
}

@Component
public class BigDecimalToDoubleConverter implements Converter<BigDecimal, Double> {

    @Override
    public Double convert(BigDecimal source) {
        return source.doubleValue();
    }
}

Przed dodaniem konwertera otrzymałem:

update test.product query: { _id: 123 } update: { _id: 123, _class: "com.vladmihalcea.mongo.model.Product", name: "Tv", quantity: "10", discount: "12.34", version: 0 } nscanned:0 nupdated:1 upsert:1 keyUpdates:0 locks(micros) w:49328 50ms

Po dodaniu konwerterów:

update test.product query: { _id: 123 } update: { _id: 123, _class: "com.vladmihalcea.mongo.model.Product", name: "Tv", quantity: "10", discount: 12.34, version: 0 } nscanned:0 nupdated:1 upsert:1 keyUpdates:0 locks(micros) w:64689 65ms



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Instalowanie MongoDB na Raspberry Pi

  2. Czy mogę użyć $project, aby zwrócić pole jako dokument najwyższego poziomu w zapytaniu agregującym mongo?

  3. Wstaw obiekt Pythona w mongodb

  4. Jak mogę zapisać obiekt BsonDocument do pliku i odczytać go ponownie za pomocą Javy?

  5. Wstaw pole z rozmiarem tablicy w mongo