MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cegah Data Musim Semi untuk Mongo untuk mengonversi id ke ObjectId

Saya akhirnya menemukan solusi untuk ini. Mungkin bukan pilihan terbaik, tetapi berhasil.

Apa yang saya lakukan adalah menghapus konverter dari String ke ObjectId MongoTemplate menggunakan melalui QueryMapper . Dengan cara ini, saya membuat konverter Mongo berikut:

public class CustomMongoConverter extends MappingMongoConverter {
    public CustomMongoConverter(MongoDbFactory mongoDbFactory, MappingContext<? extends MongoPersistentEntity<?>, MongoPersistentProperty> mappingContext) {
        super(mongoDbFactory, mappingContext);
        conversionService.addConverter(new Converter<String, ObjectId>() {
            @Override
            public ObjectId convert(String source) {
                throw new RuntimeException();
            }
        });
    }
}

Dan kemudian, saya meneruskan implementasi konverter itu ke MongoTemplate :

<bean id="mongoConverter" class="com.abcompany.model.repositories.utils.CustomMongoConverter">
    <constructor-arg ref="mongoDbFactory"/>
    <constructor-arg>
        <bean class="org.springframework.data.mongodb.core.mapping.MongoMappingContext"/>
    </constructor-arg>
</bean>

<bean class="org.springframework.data.mongodb.core.MongoTemplate" id="mongoTemplate">
    <constructor-arg ref="mongoDbFactory"/>
    <constructor-arg ref="mongoConverter"/>
</bean>

Dengan cara ini, ketika mencoba mengonversi dari String ke ObjectId, ia mengeluarkan pengecualian dan tidak melakukannya. Harap perhatikan bahwa Anda mungkin dapat menghapus konverter dari conversionService .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Python dan MongoDB:Menghubungkan ke Database NoSQL

  2. TypeError:Tidak dapat membaca properti 'subjek' dari null

  3. Bagaimana cara menerapkan grup pada dokumen bersarang di MongoDB menggunakan MongoTemplate?

  4. Dorong elemen ke dalam array bersarang luwak nodejs

  5. Salin/Klon Koleksi di MongoDB