2016-04-15 14 views
1

私は自分のmongodbから回収したデータを処理したいのですが、私のAPIを返す前に処理します。mongodbから返されたデータを返すのではなく、そのデータを使用する方法

私のAPIリクエストは次のようである:ただし、ユーザーが未定義しまっ

.get('/users', function(req, res){ 
    var users = []; 
    User.find({}, function(err, data){ 
     if(err) res.send(err); 
     users = data; 
    } 

    // here I want to do some things with the users 

    res.json(users); 
} 

... 私の推測では、応答がefectively「ユーザー」 を埋めるために戻った前のコードは、前方に実行されることは何ですか私は変数がコンテンツを使用できるようになるまで待つのが正しい方法ですか? 待っているマザーではありませんが、別のエラーですか?

+0

私はそれはしかし、私は何を探すべきかを知りませんでした、重複した質問になります認識しています...(...これは、同期したまったくIDを持っていました) – stijnpiron

答えて

2
User.find({}, function(err, data){ 
     if(err) res.send(err); 
     users = data; 
    } 

上記のコードは非同期に実行されるため、終了する前に結果を期待しています。

だから、これを試してみてください。

.get('/users', function(req, res){ 
     var users = []; 
     User.find({}, function(err, data){ 
      if(err) res.send(err); 
      users = data; 

     // do some things with the users 

     res.json(users); 
     }  
} 
関連する問題