所以我试图用函数从Node中的MongoDB分配值。我的问题是,它找到数据,但在findOne函数之外返回未定义。
码:
async function findFile(userid) {
let ufile = mCollection.findOne({"uid": userid}, function(err, res) {
console.log(res);
return res;
});
console.log(ufile);
};
findFile(authId);
结果:
Console log
最佳答案
您将在回调内部返回。这意味着mCollection.findOne本身不返回任何值。
相反,您可以做的是在回调中记录值,如下所示:
async function findFile(userid) {
let ufile = mCollection.findOne({"uid": userid}, function(err, res) {
console.log(ufile);
});
};
findFile(authId);
或将功能作为承诺运行,然后等待:
async function findFile(userid) {
let ufile = await mCollection.findOne({"uid": userid});
console.log(ufile)
};
findFile(authId);