zoukankan      html  css  js  c++  java
  • mongo操作——删除历史记录,只保留50条

    按照标题所述,思路一般是查出历史记录,留50条,其余的都删除

    1、查询

    2、删除

    这样需要两个步骤,想一次性完成两个操作。MongoTemplate提供了查询并删除方法:

    public <T> List<T> findAllAndRemove(Query query, Class<T> entityClass, String collectionName) {
         return this.doFindAndDelete(collectionName, query, entityClass);
    }

    业务操作如下:按照version倒序,只保留50个,其余都删除

    public List<ResultHistory> removeMoreHistory(String userTaskId, String userTaskFileId, String taskId) {
        Query query = new Query();
        query.addCriteria(Criteria.where("userTaskId").is(userTaskId)
          .and("userTaskFileId").is(userTaskFileId).and("saveType").is(1))
           .with(Sort.by(Sort.Direction.DESC, "version"))
           .skip(50);
        return resultHistoryMongoTemplate.findAllAndRemove(query, ResultHistory.class, taskId);
    }
  • 相关阅读:
    编辑器漏洞
    csrf漏洞
    sdram控制2
    简易sdram控制1
    8051核
    AD7928
    FIR滤波器的verilog实现方法
    fft_cepin
    fft_fft_control
    FFT_fifo
  • 原文地址:https://www.cnblogs.com/mabiao008/p/13022449.html
Copyright © 2011-2022 走看看