我有这个问题
DBCursor mongoCursor = mongoCollection.find(query).sort(sort).limit(5000);
long mongoCursorCount = mongoCursor.count();
myLogger.info("mongoCursorCount " + mongoCursorCount);
Run Code Online (Sandbox Code Playgroud)
这显示mongoCursorCount值为1.2M docs
limit方法适用于shell查询,但是它是通过mongo-java-driver-2.1.1.jar驱动程序工作的吗?
默认情况下,MongoDB的忽略limit和skip当他们与一起应用count.要更改此行为,您需要设置applySkipLimit为true.有关详细信息,请参见此处
在蒙戈外壳,这将忽略limit,并skip默认为:
db.coll.find().limit(3).count();
Run Code Online (Sandbox Code Playgroud)
这将尊重这些修饰符:
db.coll.find().limit(3).count(true);
Run Code Online (Sandbox Code Playgroud)
您可能正在使用旧版本的Mongo shell,这不是默认版本或类似的东西.
要修复Java代码size()而不是count()- 这就像调用count(true)而不是count()shell.
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |