mydocuments.find({}).toArray returns empty in my code below. I could see couple of solutions posted but not apply them since I am using MongoClient.connect . Any assistance will be much appreciated.
var MONGOHQ_URL="mongodb://harishvc:[email protected]:12345/abcd";
var mongodb = require('mongodb');
MongoClient = mongodb.MongoClient;
var async = require('async');
….
async.series([
function (callback) {
console.log("start: db connection");
MongoClient.connect(MONGOHQ_URL, { server: { auto_reconnect: true } }, function(err, db2) {
if (err) {return callback(err, "connect error");}
db = db2;
console.log("end: db connection");
callback(null,"end: db connection");
});
},
function (callback) {
console.log("start: getting handle to collection");
mydocuments = db.collection('test');
console.log("end: getting handle to collection");
callback(null,"end: getting handle to collection");
},
function (callback) {
console.log ("start: inserting new entries ....");
mydocuments.insert({i:1},callback);
console.log ("end: inserting new entries ....");
callback(null,"end: inserting new entries");
},
function (callback) {
console.log("start: listing all entries ....");
mydocuments.find({}).toArray(function(err, docs) {
if (err) {return callback(err, "connect error");}
// Does not get executed???
console.log("Hello World!");
});
console.log("end: listing all entries ....");
callback(null,"end: listing all entries");
}],
…..
Output
start: db connection
end: db connection
start: getting handle to collection
end: getting handle to collection
start: inserting new entries ....
end: inserting new entries ....
start: listing all entries ....
end: listing all entries ....