在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
我们是否需要专门配置查询以返回所有文档?
我们需要转换成数组。在那之后,只有我们能做每一件事。试试下面!!!
var allDocuments = db.getCollection('mycollection').find({}).toArray();
print(allDocuments.length);
var count = 0;
allDocuments.forEach(function(doc) {
count++;
print("IterCount : ",count);
});
print("FinalCount : ",count);
//用光标
db.getCollection('mycollection').find({}).forEach(function(doc){
count++;
print("IterCount : ",count);});
问题解决:这是robomongoshellTimeoutSec
配置(默认值:15秒)的问题,导致curser停止返回更多元素。
这也解释了30000到44000的“随机”计数(取决于网络速度)。这是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
问题内容: 我想知道为什么搜索特定术语会返回索引的所有文档,而不返回包含所请求术语的文档。 这是索引以及我的设置方法:(使用elasticsearch头插件浏览器界面) 然后我添加了一些文档: 因此,现在触发“ plaat”搜索时,人们会希望搜索会返回包含“ plaatstaal”的文档。 但是为我节省了更多的搜索,elasticsearch会恢复所有文档的大小,无论其文本内容如何。我在这里想念什
问题内容: 起初我想注意到英语不是我的母语,无论我希望我们不会误会 我在Android上编写了简单的应用程序,发现了一个问题,也解决了该问题,但是无论如何,我都想了解为什么会这样。 我创建了一个sql表: 并以这种方式将数据放入其中: 现在..一切正常,我使用此应用程序进行了验证,可以存储的值正确。 不过,当我尝试使用1得到错误的值2)获得日期值时,它的负数(例如-1004124) 因此,我尝试用
问题内容: 我在尝试为我的应用程序实现一些计数器时遇到了这种奇怪的行为。基本上,我做了一个这样的计数器表: 然后,我也想计算一些特定类型的消息,因此在Go应用程序中,我更改了表以添加以前没有的列。 我的应用程序正在增长,并且我开始有30列以上(不应超过50列),并且当我想检索所有这些计数器时,结果中缺少一些列。 这给我返回了30列超过34列的信息。虽然,当我在CQLSH上执行请求时: 我得到适当的
我知道之前有人问过这个问题,但我还是希望有人能帮我。我使用meteorchef的基本模板。 从ScoreTotal.js在用户界面/容器目录我做: 在服务器/出版物中,我有: 当我console.log结果时,我看到聚合有效,但我得到错误“发布函数返回非光标数组” 感谢您的帮助!
问题内容: 我在MySQL中有以下查询: 该表有27行,但查询仅返回1行。基于 这个问题, 我认为可能是由于WHERE子句。该表具有字段id,属性,字段,值,其中是第三个表的外键(我不需要从中获取数据)。 有没有一种方法可以从第一个表中选择所有行,包括表#2中字段为23的值(如果没有字段23,则为NULL)? 问题答案: 当然。将WHERE条件移动到JOIN:
我做了一个不和谐的机器人,想添加<代码>!我添加成员部分,但它返回1,但我的服务器有2个人成员和4机器人(所有我的)为什么?这是代码: