MongoDB中删除了多少个文档

3
使用Spring Data(1.1.0.M1),有没有办法确定删除了多少个文档?
目前我正在使用MongoTemplate类上的remove()方法,但它不会返回任何关于操作的信息。
如果不通过MongoTemplate,是否有其他方法可以删除文档并找出删除了多少个?
2个回答

9

在MongoDB中编写文档(包括删除)时,您可以调用getLastError()以查看您最后一次写操作的影响。

问题在于,当没有错误时,您仍希望知道您的操作影响了多少个对象(文档)。

在shell中,您可以通过检查getLastErrorObj()返回的对象来查看详细信息。在Java中,Mongo Java驱动程序提供了方法来完成相应的操作。

在删除操作的情况下,字段"n"将对应于受影响的文档数。以下是一个示例代码片段:

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

0

我对MongoDB的经验不多,因为我对它还很陌生,不确定我将要推荐的内容是否适用于您的情况。当在查询中传递标志safe=true时,它会返回一个名为'n'的键,显示查询中受影响的行数。您应该研究一下这个。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接