2016-12-16 8 views
0

確認オブジェクトを取得する際に、MongoJS/Mongooseのクエリ、挿入、削除をmodule.exportsに入れる方法はありますか?module.exportsまたはexportsにMongoDBのクエリ、挿入、削除を行う

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

私はコールバックを使用してこれを達成できます。私。関数をパラメータとして他のファイルからモジュールを呼び出すと、この関数はパラメータとして結果変数を持ちます。この関数は、クエリが完了したときに実行されます。

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

server.jsはありがとうございました!!!それは働いた –

+0

ようこそ!それが役に立つと思われる場合は、忘れずに合格とマークしてください。 https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workを参照してください。 –

関連する問題