2017-08-27 8 views
0

こんにちは、私はmongoDBからデータを取得し、他の関数から新しいデータを挿入しようとしています。何らかの理由で私は未定義になる。 私がやっていることは間違っていますし、どうすれば修正できますか?mongodb関数からundefinedを返すJavascript関数

router.post("/list", (req, res, next) => { 
const params = req.body; 
var results_data = []; 
Countability.find() 
    .populate("user") 
    .populate("company") 
    .populate("store") 
    .exec(function (err, data) { 
     _.forEach(data, function (value, key) { 
      results_data[key] = { 
       _id: value._id, 
       count: GetCount(10) 
      }; 
     }); 
     res.status(200).json({ status: 1, result: results_data }); 
    }); 

});

const GetCount = (id) => { DataRow.aggregate( [ { "$group": { "_id": "$rowName", "count": { "$sum": 1 } } } ]).exec((err,res) => { var data = Promise.all([res]); data.then(function (res) { return res }) }) }
+3

可能な重複https://stackoverflow.com/questions/14220321/how- do-i-return-as-asynchronous-call) –

+0

この非同期応答を試してみてください。まだ返されていません。 –

答えて

0

forEachは完了していませんが、サーバーから応答が送信され始めます。 あなたが呼び出して、results_dataは、すべてのデータを持っていることを確認する必要がありres.status(200).json

[私は非同期呼び出しからの応答を返すにはどうしますか?](の
+0

こんにちはresEstatus(200).json forEachの外です –

関連する問題