当前位置: 首页 > news >正文

Mongodb使用指定索引删除数据

回顾Mongodb删除语法

db.collection.deleteMany(<filter>,{writeConcern: <document>,collation: <document>,hint: <document|string>}
)

删除语法中,除了指定过滤器外,还可以指定写入策略,字符序和使用的索引。

本文通过翻译整理mongodb官方文档,实践使用指定的索引删除数据。

首先,创建测试集合members,集合中包含_id,member,status,points,misc1, misc2两个字段

db.members.insertMany([{ "_id" : 1, "member" : "abc123", "status" : "P", "points" :  0,  "misc1" : null, "misc2" : null },{ "_id" : 2, "member" : "xyz123", "status" : "A", "points" : 60,  "misc1" : "reminder: ping me at 100pts", "misc2" : "Some random comment" },{ "_id" : 3, "member" : "lmn123", "status" : "P", "points" :  0,  "misc1" : null, "misc2" : null },{ "_id" : 4, "member" : "pqr123", "status" : "D", "points" : 20,  "misc1" : "Deactivated", "misc2" : null },{ "_id" : 5, "member" : "ijk123", "status" : "P", "points" :  0,  "misc1" : null, "misc2" : null },{ "_id" : 6, "member" : "cde123", "status" : "A", "points" : 86,  "misc1" : "reminder: ping me at 100pts", "misc2" : "Some random comment" }
])

为字段member和status添加索引

db.members.createIndex({"member": 1})
db.members.createIndex({"status": 1})

通过$indexStats查看索引使用情况

db.members.aggregate([{$indexStats: {}}])

在"accesses.ops"字段中,能够看到新添加的索引访问数量都是0

执行带有指定索引的删除脚本,指定使用索引"status_1",删除成功

db.members.deleteMany({ "points": { $lte: 20 }, "status": "P" },{ hint: { status: 1 } }
){"acknowledged" : true,"deletedCount" : 3
}

重新查看索引使用情况,能够看到"status_1"索引访问次数为1

db.members.aggregate([{$indexStats: {}}])

http://www.lryc.cn/news/275066.html

相关文章:

  • 虾皮怎么选品:虾皮(Shopee)跨境电商业务成功的关键步骤
  • QML —— 使用Qt虚拟键盘示例(附完整源码)
  • Nacos 持久化及集群的搭建【微服务】
  • win10下vscode+cmake编译C代码操作详解
  • 网络安全红队常用的攻击方法及路径
  • 【基于openGauss2.1.0企业版安装X-Tuner参数调优工具】
  • SpringBoot+Vue轻松实现考试管理系统
  • 详解Keras:keras.preprocessing.image
  • 来瞅瞅Java 11都有啥新特性
  • Copilot在IDEA中的应用:提升编码效率的得力助手
  • 【Python】Excel不同sheet另存为不同CSV
  • 软件测试|深入学习 Docker Logs
  • 试除法求约数算法总结
  • [JavaWeb玩耍日记] 数据库
  • rime中州韵小狼毫 inputShow lua Translator 输入字符透传翻译器
  • 【RockChip | RV1126】学习与开发
  • copilot在pycharm的应用
  • HDU 2841:Visible Trees ← 容斥原理
  • 分布式数据之复制(Replication)
  • 【多线程】
  • 基于Vue开发的一个仿京东电商购物平台系统(附源码下载)
  • Nginx多ip部署多站点
  • Unity SVN更新提交小工具
  • 听GPT 讲Rust源代码--compiler(19)
  • redis单机部署
  • el-upload上传文件
  • 算法导论复习——CHP16 贪心算法
  • 【霹雳吧啦】手把手带你入门语义分割の番外12:U2-Net 源码讲解(PyTorch)—— 网络的搭建
  • phpstudy面板Table ‘mysql.proc‘ doesn‘t exist解决办法
  • 网安入门09-Sql注入(绕过方法梳理)