函数中的Nodejs Mongodb返回未定义,并且回调不是函数

时间:2018-10-03 10:28:13

标签: node.js mongodb callback

我是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

预先感谢

0 个答案:

没有答案