相关疑难解决方法(0)

在Node.js中进行同步MongoDB查询的正确方法是什么?

我正在使用MongoDB的Node.JS驱动程序,我想执行同步查询,如下所示:

function getAThing()
{
    var db = new mongo.Db("mydatabase", server, {});

    db.open(function(err, db)
    {
        db.authenticate("myuser", "mypassword", function(err, success)
        {
            if (success)
            {
                db.collection("Things", function(err, collection)
                {
                    collection.findOne({ name : "bob"}, function(err, thing)
                    {                           
                        return thing;
                    });
                });
            }
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

问题是,db.open是一个异步调用(它不会阻塞),因此getAThing返回"undefined",我希望它返回查询结果.我确信我可以使用某种阻塞机制,但我想知道做这样的事情的正确方法.

javascript synchronous mongodb node.js

35
推荐指数
2
解决办法
5万
查看次数

标签 统计

javascript ×1

mongodb ×1

node.js ×1

synchronous ×1