SpringBoot Mongo 动态分表 动态修改表名
前言为什么分表?mongo记录请求日志,由于业务的扩展,日志越来越多,导致mongo日志文件越大,导致查询特别慢。话不多说,直接上代码一、使用步骤//mongo 表名public static final List<String> MONGO_SUBMASTER_LIST = Arrays.asList("requestLog");@Autowiredprivate MongoTemp
·
前言
为什么分表?
mongo记录请求日志,由于业务的扩展,日志越来越多,导致mongo日志文件越大,导致查询特别慢。话不多说,直接上代码
一、使用步骤
// mongo 表名
public static final List<String> MONGO_SUBMASTER_LIST = Arrays.asList("requestLog");
@Autowired
private MongoTemplate mongoTemplate;
public void test(){
MongoDatabase db = mongoTemplate.getDb();
String dbName = db.getName();
int dateInt = DateUtil.getDateInt(DateUtil.getBeforeMonth(0));//获取一个月份值 yyyyMMdd
MongoCollection dbCollection;
for (String tableName : MONGO_SUBMASTER_LIST) {
dbCollection = db.getCollection(tableName);
dbCollection.renameCollection(new MongoNamespace(dbName + "." + tableName + "_" + dateInt), new RenameCollectionOptions().dropTarget(true));
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)