Node.js 将MongoDB查询、插入和删除放入module.exports或exports中

Node.js 将MongoDB查询、插入和删除放入module.exports或exports中,node.js,mongodb,mongoose,mongodb-query,mongojs,Node.js,Mongodb,Mongoose,Mongodb Query,Mongojs,是否有办法在返回确认对象时将MongoJS/Mongoose查询、插入和删除放在module.exports中 server.js var mongoq = require('./models/mongoq.js'); var result = mongoq.connectToServer(); console.log(result); var mongoq = require('./models/mongoq.js'); mongoq.connectToServer(function(res

是否有办法在返回确认对象时将MongoJS/Mongoose查询、插入和删除放在module.exports中

server.js

var mongoq = require('./models/mongoq.js');
var result = mongoq.connectToServer();
console.log(result);
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 = {
   //var answer;
   connectToServer: function(){
      db.questions.find(function (err, docs) {
         return docs;
      }
   //return answer;
};
var mongojs = require('mongojs');
db = mongojs('config', ['questions']);
module.exports = {
   connectToServer: function(callback) {
      db.questions.find(function (err, docs) {
         callback(docs);
      });
   }
};
result变量返回undefined,如果我将返回放在查询之外,它希望在执行查询之前发送它。
有没有办法强制module.exports在返回查询之前等待查询?

谢谢

您可以通过我的回调来实现这一点。也就是说,您使用函数作为参数从另一个文件调用模块,此函数的结果变量作为参数。此函数将在查询完成时执行

server.js

var mongoq = require('./models/mongoq.js');
var result = mongoq.connectToServer();
console.log(result);
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 = {
   //var answer;
   connectToServer: function(){
      db.questions.find(function (err, docs) {
         return docs;
      }
   //return answer;
};
var mongojs = require('mongojs');
db = mongojs('config', ['questions']);
module.exports = {
   connectToServer: function(callback) {
      db.questions.find(function (err, docs) {
         callback(docs);
      });
   }
};

您可以通过我使用回调来实现这一点。也就是说,您使用函数作为参数从另一个文件调用模块,此函数的结果变量作为参数。此函数将在查询完成时执行

server.js

var mongoq = require('./models/mongoq.js');
var result = mongoq.connectToServer();
console.log(result);
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 = {
   //var answer;
   connectToServer: function(){
      db.questions.find(function (err, docs) {
         return docs;
      }
   //return answer;
};
var mongojs = require('mongojs');
db = mongojs('config', ['questions']);
module.exports = {
   connectToServer: function(callback) {
      db.questions.find(function (err, docs) {
         callback(docs);
      });
   }
};

不客气!如果答案有帮助,请不要忘记将其标记为已接受。再见,不客气!如果答案有帮助,请不要忘记将其标记为已接受。看见