![](/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.