![](/img/trans.png)
[英]Mongo DB query giving error in Javascript but run smoothly in mongo shell
[英]Mongo query in javascript
我正在使用javascript运行2叉搜索。 变量test的计数为5。js部分运行,但是不运行mongodb查询。 如下所示,mongo查询给出的计数为15,该变量仅在变量test; test [4] .count = 15中指向对象的对象编号4。 0到3之间没有查询。
var test=db.categories.find({"path":/English\/TEST/OG/},{"path":1})
test.length()==5
for(i=0;i<test.length();i++)
{
print(i);
db.assets.find({"title.categories":test[i].path}).count()
}
0
1
2
3
4
15
似乎正在跳过查询直到结束。
当前方法的问题在于您没有在for
循环中显式打印count()
的结果。 mongo
shell打印最后执行的命令的结果,这就是为什么当循环退出时您偶然看到最后一个计数的输出的原因。
您的代码应改为:
for (i=0; i<test.length(); i++) {
print(i);
print(db.assets.find({"title.categories":test[i].path}).count());
}
您还可以通过将查询谓词作为count()
的参数,来更简洁地编写查询,例如:
print(db.assets.count({"title.categories":test[i].path}));
有关使用游标的更多信息,请参阅在mongo
Shell中迭代游标 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.