【发布时间】:2019-10-03 22:35:54
【问题描述】:
我正在尝试进行数据库搜索,然后将所有数据作为数组返回,但等待部分返回未定义
我已经 console.logged 数组,它打印的结果很好,但在外面显示未定义
async function followUsersIds(user_id) {
const following = await Follow.find({ "user": user_id })
.select({ '_id': 0, '__v': 0, 'user': 0 }) //Evitar que traiga esos campos
.exec((err, follows) => {
if (err)
return res.status(500).json({ ok: false, msg: `Error ${err}` })
let following_clean = [];
follows.forEach((follow) => {
following_clean.push(follow.user_followed);
});
return following_clean;
});
return {
following
}
}
这是电话:
followUsersIds(user_id)
.then((value) => {
console.log(value);
return res.status(200).json({
ok: true,
usuarios,
users_following: value.following,
total: conteo,
pages: Math.ceil(conteo / limite)
});
})
.catch(err => { return res.json({ ok: false, msg: `Error ${err}` }) })
但我没有得到“users_following”,如果我在控制台记录“值”,它会打印 { following: undefined }
【问题讨论】:
-
你使用 followUsersIds 因为这将是一个承诺
followUsersIds(user_id) .then(。但不是承诺
标签: node.js async-await