MongoDB Remove方法(第 10 天)

作者 : 慕源网 本文共2142个字,预计阅读时间需要6分钟 发布时间: 2021-11-1 共280人阅读

在阅读本文之前,我强烈建议您阅读本系列的前几期:

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})  

结果

MongoDB Remove方法(第 10 天)

现在将一些文档插入到“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”集合的结构

MongoDB Remove方法(第 10 天)

集合中删除所有文档

要删除集合中的所有文档,请使用带有空查询文档 {} 的 remove 方法。

Query

db.Demo.remove({})  

查询后的集合

此查询从“Demo”集合中删除所有文档。

MongoDB Remove方法(第 10 天)

请注意,remove() 和 drop() 方法不同。Drop() 方法删除整个集合,包括其结构和索引,但 remove() 方法仅删除集合中的文档。

删除所有符合删除条件

要删除符合特定条件的所有文档,请使用 <query> 参数并应用删除条件。

Query

db.Demo.remove({Price:{$gt:235,$lt:2001}})  

此查询删除“Price”字段的值大于 350 且小于 2001 的所有文档。

查询后的集合

MongoDB Remove方法(第 10 天)

Remove Single Document

要删除匹配删除条件的第一个文档,请使用 remove() 方法。将“justOne”参数的值设置为 true 或 1。

Query

db.Demo.remove({Price:{$gt:235,$lt:2001}},{justOne:1})  

这将删除与删除条件匹配的第一个文档。使用 Capped Collection 的

Query

MongoDB Remove方法(第 10 天)

Remove 方法后的Collection

我们无法从有上限的集合中删除特定文档。要从集合中删除所有文档,请使用 drop() 方法删除集合。

让我们看一个例子:

MongoDB Remove方法(第 10 天)

在前面的例子中,我们尝试使用带有上限集合的 remove 方法,因此 MongoDB 抛出错误。要从集合中删除所有文档,请使用 drop() 方法。

使用带有删除操作的隔离选项

在删除多个文档的过程中,删除操作可能会与集合的其他读写操作交错。要覆盖此行为,请使用“$isolated”选项。隔离选项可确保在受影响的文档全部处理完毕或出现错误停止删除操作之前,任何客户端都无法看到这些文档。要在 remove 方法中使用隔离行为,请将“$isolated”参数设置为 1 或 true。

例子

MongoDB Remove方法(第 10 天)

今天,我们学习了remove方法。在下一篇文章中,我将解释另一种方法。在此之前继续编码。


慕源网 » MongoDB Remove方法(第 10 天)

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录