MongoDB 中 cursor.count() 和 cursor.size() 之间的区别
2022-09-03 00:11:07
MongoDB的和方法有什么区别?cursor.count()
cursor.size()
DBCursor
MongoDB的和方法有什么区别?cursor.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()) {
...
}
事实证明,在调用该方法后,限制被忽略了(plase看看另一个问题),我们打算知道查询返回了多少个项目,所以我们应该调用该方法,因为调用该方法确实具有不希望的附带效应。cursor.count()
cursor.size()
count
我希望这对其他人有所帮助,因为找到我们面临的问题的根源并不容易。