7

マングースでのクエリの結果からデータを取得するのに問題があります: これが私の関数です:

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 関数を使用すると、クエリの結果が得られます。各レコードに 1 つずつアクセスするにはどうすればよいですか? このようなコンソールには何も表示されません。

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 に答える