【原创】【译】MongoDB3.0.6删除数据

概述

你能用驱动包中提供的deleteOne或者deleteMany方法来删除集合里的文档。这些方法需要传入一个条件文档参数,以确定删除哪个文档。


为了明确删除条件,我们跟查询一样用相同的语法和结构。更多查询的相关内容,请移步到[Find or Query Data with Java Driver

前提

该部分仍然使用test数据库中的restaurant集合。关于如何导入数据集,请移步到[Import Example Dataset

紧接着 连接数据库后的操作,我们运行MongoDB实例,并声明db变量来连接test数据库。

操作需要导入下面的包:

       import org.bson.Document;

步骤

删除匹配条件的所有文档

下面的操作会删除匹配条件的所有文档

     db.getCollection("restaurants").deleteMany(
            new Document("borough", "Manhattan"));

deleteMany方法会返回一个包含操作信息的DeleteResult类。该类里的getDeletedCount方法会返回被删除的文档数目。

删除一个集合

删除所有操作仅从文档中删除文档,集合本身以及集合的索引仍然保留着。为了从一个集合中删除所有文档,更有效的方法是移除整个集合包括它的索引,然后再重新建一个同名的集合和索引。利用drop方法能删除整个集合,包括索引:

       db.getCollection("restaurants").drop();

其他

更多信息,请看官方文档Java版。 deleteOne, deleteMany 和drop.


在MongoDB里,在一个文档中的写操作是原子级别的。如果单个删除操作
删除了集合里的多个文档,该操作能掺入其他写操作在该集合中。在MongoDB文档中,请移步看Atomicity.

更多内容,看MongoDB官方文档。The MongoDB Manual

你可能感兴趣的:(【原创】【译】MongoDB3.0.6删除数据)