我發現了一些針對nodejs的mongodb插件,但它似乎總是使用回調函數來返回搜索結果,我只是想直接得到結果作爲回報我怎樣才能使用任何mongodb插件得到的回報不在回調函數中的結果?
我無法通過使用此代碼獲取正確的返回值:
index.prototype.a = function(){
var vars = {};
vars.something1 = {};
vars.something2 = 123;
mongous("db.test").find({name:'shura'},function(r){
if(r){
vars.something3= true;
}else{
vars.something3= false;
}
});
return vars;
}
這段代碼是什麼我想:
index.prototype.a = function(){
var vars = {};
vars.something1 = {};
vars.something2 = 123;
var result = mongo_plugin("db.test").search({name:'shura'});
vars.something3 = result?true:false;
return vars;
}
我怎樣才能讓vars.something3回報存在嗎?
可能你想這樣做的同步方式! –
[在Node.js中創建同步MongoDB查詢的正確方法是什麼?](http://stackoverflow.com/questions/12030248/what-is-the-right-way-to-make-a -synchronous-mongodb-query-in-node-js) –
我會認真地敦促你做一個回調。任何能夠同步執行的事情都會在node.js中被黑客攻擊,並且讓事情變得更加可怕(並且破壞node.js最強大的賣點之一)。如果你只是不喜歡回調代碼的聖誕樹外觀,請考慮[異步庫](https://github.com/caolan/async) –