遍历mongoose find结果

Iterate through mongoose find result

本文关键字:结果 find mongoose 遍历      更新时间:2023-09-26

我有一些麻烦从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));
}

如果我在getinjas函数中输入console.log(data),我就得到了查询的结果。如何逐一访问每条记录?我在控制台上什么也得不到

您忘记初始化i:

for (var i = 0;i<data.length;i++){
//        ^^^^
  console.log(data[i].name);
}

既然您询问如何逐个访问每个记录,那么在您的武器库中有forEach而不是标准for循环是很好的。一旦你越过了错误检查if:

data.forEach(function(record){
    console.log(record.name);
    // Do whatever processing you want
});