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