MongoDB中删除了多少文档

时间:2012-06-01 23:43:06

标签: mongodb spring-data

使用Spring Data(1.1.0.M1)有一种方法可以确定删除了多少文档?

目前我在MongoTemplate类上使用remove()方法,但它不返回任何有关操作的信息。

如果不是通过MongoTemplate,是否有不同的方法来删除文档并找出删除了多少文件?

2 个答案:

答案 0 :(得分:9)

当您在MongoDB中编写文档(包括删除)时,您可以调用getLastError()来查看上一次写操作的效果。

您遇到的问题是,当没有错误时,您仍然想知道您的操作会影响多少个对象(文档)。

在shell中,您可以通过检查getLastErrorObj()返回的对象来查看详细信息。在Java中,Mongo Java驱动程序提供methods来执行等效操作。

如果是删除操作,字段"n"将对应于受影响文档的数量。这是一个例子的小片段:

import com.mongodb.WriteResult;
...
   WriteResult wr = collection.remove(new BasicDBObject());  // removes everything
   System.out.println(wr.getN());        // prints the number of removed documents

答案 1 :(得分:0)

我对MongoDB没有多少经验,因为我不熟悉它,不确定我要推荐的内容是否适用于你的情况。将flag safe = true传递给查询时,它返回一个键'n',显示查询中受影响的行数。你应该调查它..