前言

为什么分表?
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));
       }
   }

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐