How can I connect to mongodb using express without mongoose?
Following the example from my comment, modifying it so that the app handles errors rather than failing to start the server.
var express = require('express');var mongodb = require('mongodb');var app = express();var MongoClient = require('mongodb').MongoClient;var db;// Initialize connection onceMongoClient.connect("mongodb://localhost:27017/integration_test", function(err, database) { if(err) return console.error(err); db = database; // the Mongo driver recommends starting the server here because most apps *should* fail to start if they have no DB. If yours is the exception, move the server startup elsewhere. });// Reuse database object in request handlersapp.get("/", function(req, res, next) { db.collection("replicaset_mongo_client_collection").find({}, function(err, docs) { if(err) return next(err); docs.each(function(err, doc) { if(doc) { console.log(doc); } else { res.end(); } }); });});app.use(function(err, req, res){ // handle error here. For example, logging and returning a friendly error page});// Starting the app here will work, but some users will get errors if the db connection process is slow. app.listen(3000); console.log("Listening on port 3000");
var mongodb = require('mongodb');var uri = 'mongodb://localhost:27017/dbname';module.exports = function(callback) { mongodb.MongoClient.connect(uri, callback);};
Ad this snippet in a file say connect.js and then require this file(connect.js) in your file where you are declaring your functions for http requests.