我在使用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));
}
因此,如果我在getNinjas函数中console.log(data)
,我会得到查询结果。如何逐个访问每条记录?我没有在控制台中得到任何东西。
答案 0 :(得分:5)
您忘记初始化i
:
for (var i = 0;i<data.length;i++){
// ^^^^
console.log(data[i].name);
}
答案 1 :(得分:2)
由于您询问如何逐个访问每条记录,因此除标准forEach
循环外,在您的工具库中使用for
是件好事。一旦您越过错误检查if
:
data.forEach(function(record){
console.log(record.name);
// Do whatever processing you want
});