MongoDB中cursor.count()和cursor.size()之间的区别

MongoDB的DBCursorcursor.count()cursor.size()方法有什么DBCursor

从MongoDB Java驱动程序的Javadoc ,它说:

DBCursor.count() :计算与查询匹配的对象数。 这不考虑限制/跳过。

DBCursor.size() :计算与查询匹配的对象数。 这确实考虑了限制/跳过。

不仅仅是一个答案,我想指出一个问题,即我们的团队面临“混合”这两个问题。

我们有这样的事情:

 DBCursor cursor = collection.find(query).limit(batchSize); logger.info("{} items found.", cursor.count()); while (cursor.hasNext()) { ... } 

事实certificate,在调用cursor.count()方法之后, 忽略了限制(请看看这个其他问题),我们打算知道查询返回了多少项,所以我们应该调用cursor.size()方法,因为调用一个count确实有一个不希望的附带效果。

我希望这对任何其他人都有帮助,因为要找到我们面临的问题的根源并不容易。