启动类排除自动加载类
@SpringBootApplication(exclude = { MongoAutoConfiguration.class,
MongoDataAutoConfiguration.class})
自定义配置加载类
package com.linewell.form.server.framework.config;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
/**
* @author zwenbo@linewell.com
* @data 2021-03-29
*/
@ConditionalOnProperty(prefix = "ds.mongo",name = "enable",havingValue = "true")
@Configuration
@Import({MongoAutoConfiguration.class,
MongoDataAutoConfiguration.class})
public class MyMongoConfig {
}
yml 配置
ds:
mongo:
enable: false
调用mongoTemplete 自动注入修改
@Autowired(required = false)
private MongoTemplate mongoTemplate;
使用 mongodbTemplete
if(mongoEnable && uuid.length() == 24){
formDetail1 = mongoTemplate.findById(uuid,FormDetail.class);
if(formDetail1!=null){
Query query = new Query();
query.addCriteria(Criteria.where("id").is(formDetail.getId()));
Update update = ValidationHelper.buildSetting4Mongo(formDetail,FormDetail.class);
mongoTemplate.upsert(query,update,FormDetail.class);
return formDetail;
}else{
formDetail.setCreateTime(new Date());
formDetail.setTenancyId(affairServiceDefMapper.selectById(formDetail.getServiceId()).getTenancyId());
mongoTemplate.insert(formDetail);
return formDetail;
}
}
mongodb 查询
按_id 查询, 查询方式
db.form_detail.find({"_id": ObjectId("5f30a4b6fca37f755382a23a")})
获取 form_detail
getCollection
db.getCollection("form_detail").find({"_id": ObjectId("5f30a4b6fca37f755382a23a")})
多条件 id、 formId find({条件1,条件2})
db.getCollection("form_detail").find(
{
"_id": ObjectId("5f30a4b6fca37f755382a23a"),
"formId":"c9d491a966d243bb919f9e679da08eb4"
}
)