使用Spring Data(1.1.0.M1),有没有办法确定删除了多少个文档?
目前我正在使用
如果不通过
目前我正在使用
MongoTemplate
类上的remove()
方法,但它不会返回任何关于操作的信息。如果不通过
MongoTemplate
,是否有其他方法可以删除文档并找出删除了多少个?MongoTemplate
类上的remove()
方法,但它不会返回任何关于操作的信息。MongoTemplate
,是否有其他方法可以删除文档并找出删除了多少个?在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
我对MongoDB的经验不多,因为我对它还很陌生,不确定我将要推荐的内容是否适用于您的情况。当在查询中传递标志safe=true时,它会返回一个名为'n'的键,显示查询中受影响的行数。您应该研究一下这个。