赞
踩
下面使用mongosh
的删除方法:
db.collection.deleteOne()
db.collection.deleteMany()
对删除操作进行说明。
使用下面的脚本创建inventory
集合,下面的例子会使用inventory
集合:
db.inventory.insertMany( [
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },
] );
向db.collection.deleteMany()
方法传递一个空的过滤文档 {}
可删除集合中的所有文档。
下面的示例删除inventory
集合中的所有文档:
db.inventory.deleteMany({})
该方法将返回操作状态的文档。
可以为db.inventory.deleteMany()
指定一个过滤条件文档来删除所有符合条件的文档。
可以在条件文档中使用<field>:<value>
表达式来指定等式条件:
{ <field1>: <value1>, ... }
查询过滤文档可以使用查询运算符来指定条件,格式如下:
{ <field1>: { <operator1>: <value1> }, ... }
要删除与删除条件匹配的所有文档,可将筛选器参数传递给deleteMany()
方法,下面的示例从inventory
集合中删除status
字段等于"A"
的所有文档:
db.inventory.deleteMany({ status : "A" })
该方法返回一个包含操作状态的文档。
使用db.collection.deleteOne()
方法最多只能删除与指定过滤器匹配的单个文档(即使有多个文档与指定过滤器匹配)。
下面的示例删除了status
为"D"
的第一个文档:
db.inventory.deleteOne( { status: "D" } )
在 MongoDB Atlas UI 中,一次只能删除一个文档。要一次删除多个文档,可以使用mongosh或MongoDB驱动程序连接到Atlas部署,并按照上面的示例进行操作。
下面的示例使用了sample_mflix
样本数据集。在MongoDB Atlas中进行文档删除可以按照下面的步骤进行操作:
打开集合
sample_mflix
数据库movies
集合指定文档的过滤条件
可选的,可以给Field字段为文档指定一个过滤条件,用于搜索符合条件的文档。
将下面的查询条件文档拷贝到搜索栏的Filter字段,然后点击Apply:
{ genres: "Action", rated: { $in: [ "PG", "PG-13" ] } }
查询条件返回sample_mflix.movies
集合中genres
字段等于Action
并且rated
等于PG
或PG-13
的文档。
删除文档
对于要删除的文档,将鼠标悬停在该文档上,然后点击右侧出现的垃圾桶图标。
点击Delete按钮后,MongoDB Atlas 会标记要删除的文档,并要求确认。
单击Delete确认你的选择。
删除操作不会删除索引,即使删除集合中的所有文档也不会删除索引。
在MongoDB中,单个文档的写操作具有原子性。
通过写关注,可以指定MongoDB对写操作进行确认的级别。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。