javascript - Writing MongoDB result to file using native Node.js driver -
i trying write results of mongodb query file using native node.js driver. code following (based on post: writing files in 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 saved!"); } }); }); collection.aggregate(query.next, function(err, result) { var jsonresult = json.stringify(result); //console.log(jsonresult); db.close(); }); });
the file written, contents 'undefined.' printing result console works though.
your code not checking err
on aggregate callback.
you getting mongo error , result undefined
in case...
other thing suspect getting multiple callbacks -- each 1 of them creates new files, erasing content.
try using fs.appendfile
instead of fs.writefile
, see if getting expected data (plus unwanted undefined
)
Comments
Post a Comment