簡體   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