在 module.exports 或导出中放入 MongoDB 查询、插入和删除
Putting MongoDB queries, inserts and removes in module.exports or exports
有没有办法在 module.exports 中放置 MongoJS/Mongoose 查询、插入和删除,同时取回确认对象?
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;
};
结果变量 return 未定义,如果我将 return 放在查询之外,它会在执行查询之前发送它。
有没有一种方法可以强制 module.exports 在 return 之前等待查询?
谢谢
您可以通过我使用回调来实现。 IE。您使用函数作为参数从另一个文件调用模块,该函数将结果变量作为参数。此函数将在查询完成时执行。
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);
});
}
};
有没有办法在 module.exports 中放置 MongoJS/Mongoose 查询、插入和删除,同时取回确认对象?
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;
};
结果变量 return 未定义,如果我将 return 放在查询之外,它会在执行查询之前发送它。
有没有一种方法可以强制 module.exports 在 return 之前等待查询?
谢谢
您可以通过我使用回调来实现。 IE。您使用函数作为参数从另一个文件调用模块,该函数将结果变量作为参数。此函数将在查询完成时执行。
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);
});
}
};