MongoDB Remove方法(第 10 天)
在阅读本文之前,我强烈建议您阅读本系列的前几期:
- MongoDB – 第 1 天(MongoDB 简介)
- MongoDB – 第 2 天(在 Windows 中安装 MongoDB)
- MongoDB – 第 3 天(数据库基础知识)
- MongoDB – 第 4 天(集合)
- MongoDB – 第 5 天(MongoDB 中的数据类型)
- MongoDB – 第 6 天(插入方法)
- MongoDB – 第 7 天(Find方法第 1 部分)
- MongoDB – 第 8 天(Find方法第 2 部分)
- MongoDB- 第 9 天(Update方法)
Remove() 方法
Remove 方法从集合中删除(移除)文档。Remove 方法根据删除条件 (<query>) 搜索文档并删除所有符合条件的文档。我们可以使用 <justOne> 参数一次删除一个项目,但是我们不能对有上限的集合使用 remove() 方法。
语法
db.Collection_Name.remove( query,{ justOne:<Boolean>} )
Parameters
Parameter | Type | 描述 |
Query | Document | 指定删除条件 |
justone | Boolean | 可选,默认值为 false。如果设置为 true,则删除单个文档,否则删除所有符合删除条件的文档。 |
返回类型
remove() 返回一个包含操作状态的对象。remove() 方法返回一个包含操作状态的 WriteResult 对象。WriteResult 对象是一个整数类型,它返回删除的文档数。
现在,我们考虑一些示例并检查 remove() 方法的行为。
1.创建collection
代码
db.createCollection("Demo",{autoIndex:false,max:100,size:5040320})
结果
现在将一些文档插入到“Demo”集合中。
{
"_id" : ObjectId("55ca1d327ad050ed6214a4e3"),
"Product_Name" : "Pendrive",
"Price" : 250
"Amount" : 2
}
{
"_id" : ObjectId("55ca1d547ad050ed6214a4e4"),
"Product_Name" : "Book",
"Price" : 350,
"Amount" : 4
}
{
"_id" : ObjectId("55ca1d6a7ad050ed6214a4e5"),
"Product_Name" : "Photo Frame",
"Price" : 150,
"Amount" : 3
}
{
"_id" : ObjectId("55ca1d947ad050ed6214a4e6"),
"Product_Name" : "Pencil",
"Price" : 15,
"Amount" : 20
}
{
"_id" : ObjectId("55ca1dc47ad050ed6214a4e7"),
"Product_Name" : "Keyboard",
"Price" : 1500,
"Amount" : 4
}
{
"_id" : ObjectId("55ca1dd57ad050ed6214a4e8"),
"Product_Name" : "Mouse",
"Price" : 125,
"Amount" : 5
}
“Demo”集合的结构
从集合中删除所有文档
要删除集合中的所有文档,请使用带有空查询文档 {} 的 remove 方法。
Query
db.Demo.remove({})
查询后的集合
此查询从“Demo”集合中删除所有文档。
请注意,remove() 和 drop() 方法不同。Drop() 方法删除整个集合,包括其结构和索引,但 remove() 方法仅删除集合中的文档。
删除所有符合删除条件
要删除符合特定条件的所有文档,请使用 <query> 参数并应用删除条件。
Query
db.Demo.remove({Price:{$gt:235,$lt:2001}})
此查询删除“Price”字段的值大于 350 且小于 2001 的所有文档。
查询后的集合
Remove Single Document
要删除匹配删除条件的第一个文档,请使用 remove() 方法。将“justOne”参数的值设置为 true 或 1。
Query
db.Demo.remove({Price:{$gt:235,$lt:2001}},{justOne:1})
这将删除与删除条件匹配的第一个文档。使用 Capped Collection 的
Query
Remove 方法后的Collection
我们无法从有上限的集合中删除特定文档。要从集合中删除所有文档,请使用 drop() 方法删除集合。
让我们看一个例子:
在前面的例子中,我们尝试使用带有上限集合的 remove 方法,因此 MongoDB 抛出错误。要从集合中删除所有文档,请使用 drop() 方法。
使用带有删除操作的隔离选项
在删除多个文档的过程中,删除操作可能会与集合的其他读写操作交错。要覆盖此行为,请使用“$isolated”选项。隔离选项可确保在受影响的文档全部处理完毕或出现错误停止删除操作之前,任何客户端都无法看到这些文档。要在 remove 方法中使用隔离行为,请将“$isolated”参数设置为 1 或 true。
例子
今天,我们学习了remove方法。在下一篇文章中,我将解释另一种方法。在此之前继续编码。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!