2016-12-16 67 views
0

有一種方法可以將MongoJS/Mongoose查詢,插入並在module.exports中刪除,同時獲取確認對象嗎?把MongoDB查詢,插入和刪除module.exports或出口

server.js

var mongoq = require('./models/mongoq.js'); 
var result = mongoq.connectToServer(); 
console.log(result); 

mongoq.js

var mongojs = require('mongojs'); 
db = mongojs('config', ['questions']); 
module.exports = { 
    //var answer; 
    connectToServer: function(){ 
     db.questions.find(function (err, docs) { 
     return docs; 
     } 
    //return answer; 
}; 

結果變量收益不確定,如果我把返回的查詢之外,它希望做查詢前將其發送。
有沒有一種方法可以強制module.exports在返回之前等待查詢?
謝謝

回答

2

你可以通過使用回調來實現這一點。即您可以使用函數作爲參數從另一個文件調用該模塊,該函數將結果變量作爲參數。查詢完成後,該函數將被執行。

server.js

var mongoq = require('./models/mongoq.js'); 
mongoq.connectToServer(function(result) { 
    console.log(result); 
}); 

mongoq.js

var mongojs = require('mongojs'); 
db = mongojs('config', ['questions']); 
module.exports = { 
    connectToServer: function(callback) { 
     db.questions.find(function (err, docs) { 
     callback(docs); 
     }); 
    } 
}; 
+0

太謝謝你了!它工作 –

+0

不客氣!如果有幫助,請不要忘記將答案標記爲已接受。 請參閱https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –