启动时加入如下配置,在使用 mongoTemplate 执行 insert 操作时,便不会保存 _class 一列。
配置如下:
package com.xxx.xxx.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
import org.springframework.data.mongodb.core.convert.MongoConverter;
/**
* TODO MongoDB配置类
*
* @author : lzb
* @date: 2020-10-22 10:37
*/
@Configuration
public class MongoConfig implements ApplicationListener<ContextRefreshedEvent> {
@Autowired
MongoTemplate mongoTemplate;
@Override
public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
MongoConverter converter = mongoTemplate.getConverter();
if (converter.getTypeMapper().isTypeKey("_class")) {
((MappingMongoConverter) converter).setTypeMapper(new DefaultMongoTypeMapper(null));
}
}
}
mongoTemplate 保存数据时去掉_class,介绍到此为止
如果本文对你有所帮助,那就给我点个赞呗 ^_^
End