首页 > 数据库 >Mongodb删除操作

Mongodb删除操作

时间:2022-11-30 15:31:22浏览次数:61  
标签:status 删除 Mongodb rs02 db PRIMARY inventory 操作 id

不管是数据库还是操作系统的文件,进行删除操作需要谨慎,确认确认再确认。 MongoDB提供以下方法来删除集合中的文档delete、drop、remove。drop操作会删除集合及索引文件。

1、remove 删除单个文档或匹配指定筛选器的所有文档。

rs02:PRIMARY> db.mycoll.find()
{ "_id" : 1, "category" : "café", "status" : "A" }
{ "_id" : 2, "category" : "cafe", "status" : "a" }
{ "_id" : 3, "category" : "cafE", "status" : "a" }
rs02:PRIMARY> db.mycoll.remove({"status" : "A"})  //删除集合中"status" 值等于"A"的文档
WriteResult({ "nRemoved" : 1 })
rs02:PRIMARY> db.mycoll.find()
{ "_id" : 2, "category" : "cafe", "status" : "a" }
{ "_id" : 3, "category" : "cafE", "status" : "a" }
rs02:PRIMARY> db.mycoll.remove({})           //删除集合中的所有文档
WriteResult({ "nRemoved" : 2 })
rs02:PRIMARY> db.mycoll.find()
rs02:PRIMARY> db.mycoll.getIndexes()    //索引还在
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_",
		"ns" : "test_jia.mycoll"
	}
]
rs02:PRIMARY>

2、使用命令deleteOne和deleteMany删除文档

rs02:PRIMARY> db.inventory.find()
{ "_id" : ObjectId("6386a8ab9011e974ab4118f2"), "item" : "journal", "qty" : 25, "size" : { "h" : 14, "w" : 21, "uom" : "cm" }, "status" : "A" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f3"), "item" : "notebook", "qty" : 50, "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "status" : "P" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f4"), "item" : "paper", "qty" : 100, "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "status" : "D" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f5"), "item" : "planner", "qty" : 75, "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "status" : "D" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f6"), "item" : "postcard", "qty" : 45, "size" : { "h" : 10, "w" : 15.25, "uom" : "cm" }, "status" : "A" }

rs02:PRIMARY> db.inventory.getIndexes()  //查看索引
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_",
		"ns" : "test_jia.inventory"
	}
]

2.1、deleteOne删除文档

rs02:PRIMARY> db.inventory.deleteOne( { status: "D" } )  //deleteOne删除文档删除条件是status值为 "D"
{ "acknowledged" : true, "deletedCount" : 1 }
rs02:PRIMARY> db.inventory.find()     //查看数据
{ "_id" : ObjectId("6386a8ab9011e974ab4118f2"), "item" : "journal", "qty" : 25, "size" : { "h" : 14, "w" : 21, "uom" : "cm" }, "status" : "A" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f3"), "item" : "notebook", "qty" : 50, "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "status" : "P" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f5"), "item" : "planner", "qty" : 75, "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "status" : "D" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f6"), "item" : "postcard", "qty" : 45, "size" : { "h" : 10, "w" : 15.25, "uom" : "cm" }, "status" : "A" }

2.2、deleteMany删除文档

rs02:PRIMARY> db.inventory.deleteMany({ status : "A" })     //deleteMany删除符合status值为 "A"
{ "acknowledged" : true, "deletedCount" : 2 }

rs02:PRIMARY> db.inventory.find()                          //查看数据
{ "_id" : ObjectId("6386a8ab9011e974ab4118f3"), "item" : "notebook", "qty" : 50, "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "status" : "P" }
{ "_id" : ObjectId("6386a8ab9011e974ab4118f5"), "item" : "planner", "qty" : 75, "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "status" : "D" }  

rs02:PRIMARY> db.inventory.deleteMany({})                 //删除集合中所有文档
{ "acknowledged" : true, "deletedCount" : 2 }
rs02:PRIMARY> db.inventory.find()
rs02:PRIMARY> db.inventory.getIndexes()                  //索引还在
[
	{
		"v" : 2,
		"key" : {
			"_id" : 1
		},
		"name" : "_id_",
		"ns" : "test_jia.inventory"
	}

3、drop删除集合

rs02:PRIMARY> db.inventory.drop()    //删除集合包括索引文件
true
rs02:PRIMARY> db.inventory.find()
rs02:PRIMARY>

3、drop数据库

db.dropDatabase() 删除当前数据库,删除相关的数据文件,

rs02:PRIMARY> use user_info
switched to db user_info
rs02:PRIMARY> show tables;
ip
test1
rs02:PRIMARY> db.dropDatabase()
{
	"dropped" : "user_info",
	"ok" : 1,
	"$clusterTime" : {
		"clusterTime" : Timestamp(1669790100, 3),
		"signature" : {
			"hash" : BinData(0,"A8ZFmKSlf9XsyZXbwpZ2UX6Q6vo="),
			"keyId" : NumberLong("7152775128156209153")
		}
	},
	"operationTime" : Timestamp(1669790100, 3)
}
rs02:PRIMARY>

标签:status,删除,Mongodb,rs02,db,PRIMARY,inventory,操作,id
From: https://blog.51cto.com/jiachen/5899848

相关文章

  • MongoDB升级
    因业务需要所以需要对mongoDB客户端jar包升级,在此记录一些过程1、jar包替换,引入依赖3.2.2: mongo-java-driver    |    4.6.1: mongo-driver-sync......
  • oracle误删除数据恢复
    查找对应删除的时间点select*fromv$sqlwheresql_textlike'%test_table%';使用时间来回复指定的表数据insertintotest_tableselect*fromtest_tableas......
  • Cesium相机移动操作_Addam Holmes的博客
    Cesium相机移动操作Cesium摄像机的移动有两种方式,一种就是单纯设置其移动属性,比如前进后退,一种就是设置聚焦到某一模型。1:Cesium设置摄像机聚焦(1)viewer.flyTo使用方法v......
  • git的回退以及合并,删除什么的
    有时候不小心合并了别的分支中的commit.我们需要回退某些提交记录。可以通过reset来操作,reset会回退到指定commit。这种方式会删除记录,我们最好使用revert命令来操作git......
  • 《MongoDB极简教程》第一章 NoSQL简史 & MongoDB安装&环境配置
    MongoDB是一款开源的文档数据库,并且是业内领先的NoSQL数据库,用C++编写而成。NoSQL(NoSQL=NotOnlySQL),意即"不仅仅是SQL"。在现代的计算系统上每天网络上都会产生......
  • MybatisPlus 删除记录
    转自:https://blog.csdn.net/h470789634/article/details/124573252学习目标:mybatisplus的删除操作学习内容:delete使用学习产出:1、deleteById@Test   voiddeleteTes......
  • Python接口自动化核心模块 - 数据库操作和日志
    每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试进行接口......
  • git的操作--gitee
    目录git介绍和安装git工作流程git常用命令git过滤文件git多分支开发git远程仓库协同开发git介绍和安装1.远程仓库:后端,写了一个接口,完成了一个功能,在公司里,功能完成,要把代......
  • kx-000011-按位置删除元素,remove
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • 代码随想录算法训练营Day11|20. 有效的括号、1047. 删除字符串中的所有相邻重复项、15
    代码随想录算法训练营Day11|20.有效的括号、1047.删除字符串中的所有相邻重复项、150.逆波兰表达式求值20.有效的括号题目链接:20.有效的括号字符串只包括'(',')','{......