下面是一个nodejs查询mongodb数据库的代码,我想输出函数findDocuments()
的结果,但是它是在MongoClient.connect()
函数中运行的,所以是个局部变量,不能输出。要怎么才可以?
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
//查询所有记录
var findDocuments = function(db, callback) {
var collection = db.collection('documents');
collection.find({}).toArray(function(err, docs) {
assert.equal(err, null);
console.log("Found the following records");
console.log(docs);
callback(docs);
});
};
//连接数据库
var url = 'mongodb://localhost:27017/myproject';
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
//把结果保存到documents变量中
var documents = findDocuments(db, function() {
db.close();
});
});
//输出documents变量,不能输出
export {documents}
export一个promise吧,把MongoClient.connect封装成一个promise,或者用async/await