循环在MongoDB中不起作用

时间:2014-12-17 20:05:22

标签: javascript mongodb

我在Mongo数据库中编写了搜索字谜的脚本:

print("Search anagrams");

var input = db.dbName.find();
var i = 0;

input.forEach(function(word) {
    var j = 0;
    var alphabetical = word.name.split("").sort().join("");

    input.forEach(function(worter) {
        if (i != j) {
            if (alphabetical == worter.name.split("").sort().join("")) {
                print(word.name + " : " + worter + " - " + i + ", " + j);
            }
        }
        j++;
    });
    i++;
});

但第一个循环不起作用。你知道为什么吗?来自db的示例记录:

{ "_id" : ObjectId("5491d807dacc815b3043ae24"), "name" : "monki" }

1 个答案:

答案 0 :(得分:1)

db.dbName.find() 

返回光标。它不是数组。你遍历游标两次(外循环和内循环),这可能是一个问题。检查是否有效

input.forEach(function(word) {
 console.log(word);
}