gpt4 book ai didi

MongoDB 游标不返回所有文档

转载 作者:可可西里 更新时间:2023-11-01 10:20:32 26 4
gpt4 key购买 nike

在 RoboMongo (0.9.0-RC09) 中运行以下 mongo 查询会给出正确数量的文档(使用游标计数函数),而迭代所有文档只会返回一小部分文档:

var allDocuments = db.getCollection('mycollection').find({});
print(allDocuments.size()); // prints 170 000 -> correct

var count = 0;
allDocuments.forEach(function(doc) {
count++;
});
print(count); // 'randomly' prints values between 30 000 and 44 000

我们是否需要专门配置查询以返回所有文档?

最佳答案

问题解决:这是 robomongo shellTimeoutSec 配置(默认值:15 秒)的问题,导致光标停止返回更多元素。

这也解释了 30 000 到 44 000 的“随机”计数(取决于网络速度)。这是robomogo的门票:https://github.com/paralect/robomongo/issues/1106#issuecomment-230258348

目前的修复/解决方法是增加 robomongo.json 中的 shellTimeoutSec:

Windows
0.9.x
C:\Users\<user>\.config\robomongo\0.9\robomongo.json
0.8.x
C:\Users\<user>\.config\robomongo\robomongo.json
MAC
0.9.x
/Users/<user>/.config/robomongo/0.9/robomongo.json
0.8.x
/Users/<user>/.config/robomongo/robomongo.json
Linux
0.9.x
/home/<user>/.config/robomongo/0.9/robomongo.json
0.8.x
/home/<user>/.config/robomongo/robomongo.json

关于MongoDB 游标不返回所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39717778/

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