根据时间字段批量删除大表数据

mongo  127.0.0.1:27017  -uroot -p "root#123"   --authenticationDatabase=admin

use bonade_iot;

db.mytab.find({"rcv_time": {"$lt": ISODate("2024-01-02T00:00:00Z")}}).count()


var startDate = ISODate("2024-01-01T00:00:00Z");
var endDate   = ISODate("2024-01-10T00:00:00Z");

while (startDate < endDate) {
  db.mytab.deleteMany({
    "rcv_time": {
      "$gte": startDate,
      "$lt": endDate
    }
  });
  
  startDate.setDate(startDate.getDate() + 1);
  endDate.setDate(endDate.getDate() + 1);
}

 

posted @ 2025-06-17 01:16  屠魔的少年  阅读(11)  评论(0)    收藏  举报