我是nodejs的新手,起初我尝试通过return使用mongodb和nodejs从函数返回一个值,但看来它不起作用。因此,我对其进行了研究并了解回调。我以多种方式尝试了此操作,但它似乎仍然对我不起作用。
function getLastCity(otherid, myid, callback) {
MongoClient.connect(dburl, {
useNewUrlParser: true
}, function (err, db) {
if (err) throw err;
var dbo = db.db("places");
var query = {
$or: [{
'city.xId': otherid,
'city.yId': myid,
},
{
'city.yId': otherid,
'city.xId': myid,
}
]
};
dbo.collection("cities")
.find(query)
.limit(1)
.sort({
timestamp: -1
})
.toArray(function (err, result) {
if (err) throw err;
db.close();
callback(result);
});
});
}
var lastCity = getLastCity('asdasd', 'asasd', function (result) {
console.log(result);
});
我已经通过console.log检查了所有值都已被调用和呈现,并且可以在mongodb函数中使用console.log轻松显示它们,但不能超出显示范围。
这也将返回
TypeError: callback is not a function
预先感谢