7

我在从 mongoose 的查询结果中获取数据时遇到了一些麻烦:这是我的函数:

getNinjas : function(res){
    var twisted = function(res){
        return function(err, data){
            if (err){
                console.log('error occured');
                return;
            }
            res.send('My ninjas are:\n');
            for (var i;i<data.length;i++){
                console.log(data[i].name);
            }
                            //I need to process my data one by one here
        }
    }

    Ninja.find({},'name skill',twisted(res));
}

所以如果我console.log(data)在 getNin​​jas 函数中,我会得到我的查询结果。如何逐条访问每条记录?我在控制台中什么都没有。

4

2 回答 2

7

你忘了初始化i

for (var i = 0;i<data.length;i++){
//        ^^^^
  console.log(data[i].name);
}
于 2013-04-06T16:52:05.763 回答
4

由于您询问如何逐一访问每条记录,因此最好forEach在您的武器库中拥有标准for循环以外的内容。一旦你通过了错误检查if

data.forEach(function(record){
    console.log(record.name);
    // Do whatever processing you want
});
于 2015-12-14T09:14:05.240 回答