mongo 分批删除

 

 

 

var requests = [];
var cursor = db.table_name.find({ "ts": { "$lt": ISODate("2024-05-30") } }).limit(55000);

// 输出查询条件
print("Querying documents with ts < 2024-05-26");

// 输出查询到的文档数量
print("Found " + cursor.count() + " documents to delete");

cursor.forEach(doc => {
  requests.push({
    deleteOne: {
      filter: { _id: doc._id }
    }
  });
});

// 输出请求列表的长度
print("Generated " + requests.length + " delete requests");

if (requests.length > 0) {
  // 执行批量删除
  let result = db.table_name.bulkWrite(requests);
  
  // 输出批量删除结果
  print("Bulk delete completed with result:");
  print("  matchedCount: " + result.matchedCount);
  print("  modifiedCount: " + result.modifiedCount);
  print("  upsertedCount: " + result.upsertedCount);
  print("  deletedCount: " + result.deletedCount);
  print("  insertedCount: " + result.insertedCount);
  print("  totalOps: " + result.totalOps);
} else {
  print("No documents to delete");
}

 

posted @ 2025-03-03 18:24  AngDH  阅读(8)  评论(0)    收藏  举报