gpt4 book ai didi

java - Mongo Java 驱动程序不遵守限制方法

转载 作者:可可西里 更新时间:2023-11-01 09:27:33 25 4
gpt4 key购买 nike

我有这个问题

DBCursor mongoCursor = mongoCollection.find(query).sort(sort).limit(5000);
long mongoCursorCount = mongoCursor.count();
myLogger.info("mongoCursorCount " + mongoCursorCount);

显示 120 万个文档的 mongoCursorCount 值

limit 方法在 shell 查询中有效,但它是否通过 mongo-java-driver-2.1.1.jar 驱动程序有效?

最佳答案

默认情况下,当 limitskipcount 一起应用时,MongoDB 会忽略它们。要更改此行为,您需要将 applySkipLimit 设置为 true。参见 here了解更多详情。

在 Mongo shell 中,这将默认忽略 limitskip:

db.coll.find().limit(3).count();

这将尊重那些修饰符:

db.coll.find().limit(3).count(true);

您可能正在使用旧版本的 Mongo shell,而这不是默认版本或类似版本。

要修复您的 Java 代码,请使用 size() 而不是 count() - 这就像调用 count(true) 而不是 count() 在 shell 中。

关于java - Mongo Java 驱动程序不遵守限制方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com