sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kan jag ansluta till mongodb med express utan mongoose?

Följer exemplet från min kommentar och modifierar den så att appen hanterar fel snarare än att inte starta servern.

var express = require('express');
var mongodb = require('mongodb');
var app = express();

var MongoClient = require('mongodb').MongoClient;
var dbURL = "mongodb://localhost:27017/integration_test";
var db;

// Initialize connection once
MongoClient.connect(dbURL, 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 handlers
app.get("/", function(req, res, next) {
  var collection = "replicaset_mongo_client_collection";
  db.collection(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");


  1. Namnkonvention och giltiga tecken för en Redis-nyckel

  2. När ska Redis? När ska man MongoDB?

  3. NoSQL-trender – MongoDB, Cassandra, CouchDB &Riak

  4. MongoDB:Är det möjligt att begränsa resultaten av $lookup till vissa fält (som en projektion)?