I\'m currently writing a function that should return the number of documents from a collection the thing is that when i\'m returning the value it says undefined, Here is my
Here is how it should look like
var MongoClient = require('mongodb').MongoClient;
var dbName = "ystocks";
var port = "27017";
var host = "localhost";
function getNumOfDocs (collectionName, host, port, dbName, callback) {
MongoClient.connect("mongodb://" + host + ":" + port + "/" + dbName, function (error, db){
if(error) return callback(error);
db.collection(collectionName).count({}, function(error, numOfDocs){
if(error) return callback(error);
db.close();
callback(null, numOfDocs);
});
});
}
And usage
getNumOfDocs("stocks", host, port, dbName, function(err, count) {
if (err) {
return console.log(err.message);
}
console.log('number of documents', count);
});
Keep in mind if you are going to call this function lots of times, it is better to just connect to the database once and then use the same connection.