繁体   English   中英

用JavaScript查询Mongo

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM