I'm using the Node.JS driver for MongoDB, and I'd like to perform a synchronous query, like such:
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;
});
});
}
});
});
}
The problem is, db.open is an asychronous call (it doesn't block), so the getAThing returns undefined and I want it to return the results of the query. I'm sure I could some sort of blocking mechanism, but I'd like to know the right way to do something like this.