MongoDB#数据删除优化

news/2025/2/24 5:29:44
  • 分批删除
const batchSize = 10000; // 每批删除 10,000 条数据
let deletedCount = 0;
do {
  const result = db.xxx_collection.deleteMany({
    createTime: { $lt: new Date(Date.now() - 1 * 24 * 60 * 60 * 1000) }
  }, { limit: batchSize });
  deletedCount = result.deletedCount;
  print(`已删除 ${deletedCount} 条数据`);
  sleep(1000);
} while (deletedCount > 0);
  • 设置 writeConcern
// writeConcern 用于控制删除操作的确认级别。默认情况下,MongoDB 会等待主节点确认写入操作 
// w: "majority":等待大多数副本节点确认写入操作
// j: true:等待写入操作写入日志文件(journal)后再返回
db.xxx_collection.deleteMany(
  { createTime: { $lt: new Date(Date.now() - 1 * 24 * 60 * 60 * 1000) } },
  { writeConcern: { w: "majority", j: true } }
);
  • 设置超时时间
db.xxx_collection.deleteMany(
  { createTime: { $lt: new Date(Date.now() - 1 * 24 * 60 * 60 * 1000) } },
  { maxTimeMS: 60 * 1000 } // 限制操作最多执行 60 秒
);

http://www.niftyadmin.cn/n/5863984.html

相关文章

智能测试执行 利用算法 利用图像识别、自然语言处理等技术实现自动化测试执行

以下将从Web应用和移动应用两个方面,给出利用图像识别、自然语言处理等技术实现自动化测试执行的实例,并附上部分代码示例。 Web应用自动化测试实例:模拟用户登录操作测试 需求理解 对于一个Web应用的登录功能进行自动化测试,我们可以结合自然语言处理理解测试用例描述,…

C++ 标准库——函数对象和函数适配器

文章目录 函数对象函数适配器bindbind的重载问题bind的引用问题 mem_fnfunction C标准库提供了函数对象和函数适配器功能 函数对象 许多标准库算法都接受函数对象(或函数)参数,用来控制其工作方式。常见的函数对象包括——比较标准、谓词&am…

C#实现Modbus TCP 通讯测试软件

C#实现Modbus TCP 通讯测试软件,源码,包括读写功能。 文件列表 WindowsFormsApplication6/WindowsFormsApplication6.sln , 1041 WindowsFormsApplication6/WindowsFormsApplication6.v12.suo , 39936 WindowsFormsApplication6/WindowsFormsApplicati…

python使用httpx_sse调用sse流式接口对响应格式为application/json的错误信息的处理

目录 问题描述方案 问题描述 调用sse流式接口使用httpx_sse的方式 import httpxfrom httpx_sse import connect_sse# 省略无关代码try:with httpx.Client() as client:with connect_sse(client, "GET", url, paramsparam) as event_source:clear_textbox(response_t…

Pytorch使用手册-音频数据增强(专题二十)

音频数据增强 torchaudio 提供了多种方式来增强音频数据。 在本教程中,我们将介绍一种应用效果、滤波器、RIR(房间脉冲响应)和编解码器的方法。 最后,我们将从干净的语音合成带噪声的电话语音。 import torch import torchaudio import torchaudio.functional as Fprin…

创建第一个 Maven 项目(二)

六、添加依赖 在 Maven 项目开发过程中,添加依赖是一项常见且关键的操作。通过添加依赖,我们可以引入项目所需的各种库和框架,极大地扩展项目的功能。接下来,我们将以 JUnit 依赖为例,详细介绍如何在 Maven 项目中添加…

保姆级! 本地部署DeepSeek-R1大模型 安装Ollama Api 后,Postman本地调用 deepseek

要在Postman中访问Ollama API并调用DeepSeek模型,你需要遵循以下步骤。首先,确保你有一个有效的Ollama服务器实例运行中,并且DeepSeek模型已经被加载。 可以参考我的这篇博客 保姆级!使用Ollama本地部署DeepSeek-R1大模型 并java…

【Java八股文】11-分布式及场景面试篇

【Java八股文】11-分布式及场景面试篇 消息队列你的项目为什么要用消息队列?你说说 Kafka 为什么是高性能的?kafka的使用场景,是否有消息丢失的情况RocketMQ、Kafka 和 RabbitMQRabbitMq怎么消息被消费项目中MQ是怎么用的?MQ消息可…