MongoDB使用Mongo Shell和Java驱动程序删除示例

时间:2020-02-23 14:40:52  来源:igfitidea点击:

MongoDB remove方法将删除单个文档或者集合中存在的所有文档或者具有特定条件的文档。

删除的语法是

db.collection.remove(
 <query>,
 {
   justOne: <boolean>,
   writeConcern: <document>
 }
)

查询:指定要从集合中删除的文档。

justOne:值为true的布尔参数,用于将删除限制为单个文档。

writeConcern:保证写操作成功的报告。

此方法返回包含写操作状态的对象,该状态指示已成功删除的文档数。

考虑以下示例的remove方法:

  • 要删除集合中的所有文档,请执行以下操作:使用一个空的查询文档调用remove方法为
    它产生以下输出:
    这将删除收集车中存在的所有文档,并提供指示删除了6条记录的输出。

  • 要删除与用户输入的条件匹配的文档:调用指定查询参数的remove方法。

输出:
这将删除速度小于45的汽车收藏集中的文档,并在输出中通知已从收藏集中删除了两个文档。

  • 要删除符合输入条件的单个文档:请使用查询条件调用remove方法,并将justOne参数设置为1或者true。

输出:
这会删除汽车集合中速度大于51的第一个文档,并指示从集合中删除了1条记录。

The $isolated :1 isolates the query as specified in the parameter. By using the $isolated option, we can ensure that no client sees the changes until the operation completes or errors out.

db.car.remove({})

输出:

WriteResult({ "nRemoved" : 6 })

这会删除汽车集合中速度大于20的文档,并且由于将隔离设置为1,因此该操作是原子的,这意味着在整个操作完成之前,没有用户可以看到此更改。

MongoDB删除Java程序

在本部分中,我们编写一个Java程序以从集合中删除文档。

>db.car.remove( {speed : {$lt:45}})

上面程序的输出是:

WriteResult({ "nRemoved" : 2 })