MongoDB文档翻译-CRUD操作-删除文档
来源:互联网 发布:yum 安装pip 编辑:程序博客网 时间:2024/06/05 09:30
英文原文地址:https://docs.mongodb.com/v3.2/tutorial/remove-documents/。
本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。
删除文档
删除方法
MongoDB提供了以下方法删除集合中的文档:
db.collection.remove()
db.collection.deleteOne()
最多删除一个匹配的文档。版本3.2新增 db.collection.deleteMany()
删除所有匹配的文档。版本3.2新增可以指定约束条件/过滤器指定要删除的文档。这个过滤器使用同读操作同样的语法:
一个查询过滤文档,用
<field>:<value>
表达式来指定相等条件,选择<field>
字段等于<value>
的文档:{ <field1>: <value1>, ... }
查询过滤文档可以使用查询操作符来指定条件,形式如下:
{ <field1>: { <operator1>: <value1> }, ... }
删除行为
索引
删除操作不会删除索引,即使从一个集合中删除所有文档。
原子
MongoDB中,在单个文档级别,所有的写操作都是原子的。关于MongoDB和原子的更多信息,请参考**原子和事务。
示例集合
该篇文档举了几个在
mongo
shell中删除文档的操作。要填充下面例子中用到的users
集合,在mongo
shell中运行:>
注意:
如果users集合已经包含了相同_id的集合,插入文档前需要删除该集合(db.users.drop()
)db.users.insertMany( [ { _id: 1, name: "sue", age: 19, type: 1, status: "P", favorites: { artist: "Picasso", food: "pizza" }, finished: [ 17, 3 ], badges: [ "blue", "black" ], points: [ { points: 85, bonus: 20 }, { points: 85, bonus: 10 } ] }, { _id: 2, name: "bob", age: 42, type: 1, status: "A", favorites: { artist: "Miro", food: "meringue" }, finished: [ 11, 25 ], badges: [ "green" ], points: [ { points: 85, bonus: 20 }, { points: 64, bonus: 12 } ] }, { _id: 3, name: "ahn", age: 22, type: 2, status: "A", favorites: { artist: "Cassatt", food: "cake" }, finished: [ 6 ], badges: [ "blue", "red" ], points: [ { points: 81, bonus: 8 }, { points: 55, bonus: 20 } ] }, { _id: 4, name: "xi", age: 34, type: 2, status: "D", favorites: { artist: "Chagall", food: "chocolate" }, finished: [ 5, 11 ], badges: [ "red", "black" ], points: [ { points: 53, bonus: 15 }, { points: 51, bonus: 15 } ] }, { _id: 5, name: "xyz", age: 23, type: 2, status: "D", favorites: { artist: "Noguchi", food: "nougat" }, finished: [ 14, 6 ], badges: [ "orange" ], points: [ { points: 71, bonus: 20 } ] }, { _id: 6, name: "abc", age: 43, type: 1, status: "A", favorites: { food: "pizza", artist: "Picasso" }, finished: [ 18, 12 ], badges: [ "black", "blue" ], points: [ { points: 78, bonus: 8 }, { points: 57, bonus: 7 } ] } ])
删除所有文档
要从集合中删除所有文档,传递一个空过滤文档{}给db.collection.deleteMany()
或db.collection.remove()
方法。
db.collection.deleteMany()
下面的例子使用db.collection.deleteMany()
方法从users
集合中删除所有文档:
db.users.deleteMany({})
该方法返回一个文档,包含操作状态:
{ "acknowledged" : true, "deletedCount" : 7 }
欲知更多信息和例子,查看db.collection.deleteMany()。
db.collection.remove()
以下例子使用db.collection.remove()
方法从users
集合中删除所有文档:
db.users.remove({})
要从集合中删除所有文档,用db.collection.drop()
方法效率可能会更高,该方法不仅删除整个集合,而且连索引也一起删除,然后重新创建集合,重建索引。
删除匹配条件的所有文档
要删除匹配删除条件的所有文档,传递一个过滤器参数给db.collection.deleteMany()
方法或db.collection.remove()
方法。
db.collection.deleteMany()
下面的例子用db.collection.deleteMany()
从users
集合中删除status字段等于”A”的所有文档:
db.users.deleteMany({ status : "A" })
该方法返回一个文档,包含操作状态:
{ "acknowledged" : true, "deletedCount" : 3 }
db.collection.remove()
以下例子使用db.collection.remove()
方法从users
集合中删除status字段等于”P”的所有文档:
db.users.remove( { status : "P" } )
对于大量的删除操作,先把想留在集合中的文档复制出来,然后用db.collection.drop()
删除整个集合可能会更有效率。
只删除匹配条件的一个文档
若需要最多删除一个匹配的文档,即使可能多个文档匹配指定的过滤器,使用db.collection.deleteOne()
方法或把<justOne>
参数设为true或者1的db.collection.remove()
方法。
db.collection.deleteOne()
下面的例子用db.collection.deleteOne()
方法来删除status字段是”D”的第一个文档:
db.users.deleteOne( { status: "D" } )
db.collection.remove()
下面的例子使用db.collection.remove()
方法,把<justOne>
参数设为1,删除status字段是”D”的第一个文档:
db.users.remove( { status: "D" }, 1)
其它方法
- MongoDB文档翻译-CRUD操作-删除文档
- MongoDB文档翻译-CRUD操作
- MongoDB文档翻译-CRUD操作-插入文档
- MongoDB文档翻译-CRUD操作-查询文档
- MongoDb文档翻译-CRUD操作-更新文档
- MongoDB文档翻译-CRUD操作-SQL与MongoDB对应表
- MongoDB文档翻译-CRUD操作-批量写操作
- MongoDB文档翻译-CRUD操作-在mongo Shell中迭代游标
- MongoDB文档翻译-CRUD操作-从查询中返回投影字段
- MongoDB文档翻译-CRUD操作-查询null或缺失的字段
- MongoDB文档翻译-引言-文档
- Mongodb 文档翻译
- MongoDB文档翻译-聚集
- MongoDB创建\更新\删除文档操作
- mongodb[三] 文档操作:插入、更新、删除
- MongoDB删除文档
- MongoDB 删除文档
- MongoDB 删除文档
- 数据结构的堆栈 与Java中的堆栈
- Android Studio的安装过程记录
- 【codeforces 777C】 Alyona and Spreadsheet
- 从Android设备中提取内核和逆向分析
- 自定义异常与编译时运行时异常
- MongoDB文档翻译-CRUD操作-删除文档
- 【Java】数组--利用冒泡算法给日期排序
- 使用Visual Studio 2010制作安装包
- python安装pywin32clipboard的方法
- 杭电 hdu 2063. 过山车
- IO流之ByteArrayOutputStream
- 数据库之主键、外键、索引
- 【Spring官方指南学习】Spring构建一个 restful web service
- zigbee