I’ve been trying to discover how to use MongoDB with Node.js and in the docs it seems the suggested way is to use callbacks. Now, I know that it is just a matter of preference, but I really prefer using promises.
The problem is that I didn’t find how to use them with MongoDB. Indeed, I’ve tried the following:
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/example'; MongoClient.connect(url).then(function (err, db) { console.log(db); });
And the result is undefined
. In that case it seems this is not the way to do so.
Is there any way to use mongo db inside Node with promises instead of callbacks?
Advertisement
Answer
Your approach is almost correct, just a tiny mistake in your argument
var MongoClient = require('mongodb').MongoClient var url = 'mongodb://localhost:27017/example' MongoClient.connect(url) .then(function (db) { // <- db as first argument console.log(db) }) .catch(function (err) {})