Javascript函数从mongodb函数返回undefined

时间:2017-08-27 08:44:56

标签: javascript node.js mongodb mongoose asynccallback

您好我从mongoDB获取数据,我尝试从其他函数插入新数据。由于某种原因,我得到了不确定。 我正在做的是错的,我该如何解决?

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 }) }) }

1 个答案:

答案 0 :(得分:0)

虽然forEach尚未完成,但服务器开始发送响应。 您需要确保results_data已获得所有数据,然后致电res.status(200).json