我正在尝试使用本地的Node.js驱动程序将MongoDB查询结果写入文件。 我的代码如下(基于此帖子:在Node.js中编写文件):
文件已经写入,但内容为“未定义”。不过可以将结果打印到控制台。
var query = require('./queries.js');
var fs = require('fs');
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:27017/test", function(err, db) {
if(err) { return console.dir(err); }
var buildsColl = db.collection('blah');
collection.aggregate(query.test, function(err, result) {
var JSONResult = JSON.stringify(result);
//console.log(JSONResult);
fs.writeFile("test.json", JSONResult, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
});
collection.aggregate(query.next, function(err, result) {
var JSONResult = JSON.stringify(result);
//console.log(JSONResult);
db.close();
});
});
文件已经写入,但内容为“未定义”。不过可以将结果打印到控制台。
collection.aggregate
块中过早地关闭了与数据库的连接。现在我只需要弄清楚在哪里放置关闭语句即可。已经在上面发布了更新的代码。 - JamesE