sql >> Database teknologi >  >> NoSQL >> MongoDB

Node.js og MongoDB, genbrug af DB-objektet

Du kan altid skrive et modul, som initialiserer dine databaseforbindelser og gør dem tilgængelige i hele dit program. For eksempel:

mongo.js

var mongodb = require('mongodb');

module.exports.init = function (callback) {
  var server = new mongodb.Server("127.0.0.1", 27017, {});
  new mongodb.Db('test', server, {w: 1}).open(function (error, client) {
    //export the client and maybe some collections as a shortcut
    module.exports.client = client;
    module.exports.myCollection = new mongodb.Collection(client, 'myCollection');
    callback(error);
  });
};

app.js

var mongo = require('./mongo.js');

//setup express...

//initialize the db connection
mongo.init(function (error) {
    if (error)
        throw error;

    app.listen(80); //database is initialized, ready to listen for connections
});

randomFile.js

var mongo = require('./mongo.js');

module.exports.doInsert = function () {
  //use the collection object exported by mongo.js
  mongo.myCollection.insert({test: 'obj'}, {safe:true}, function(err, objects) {
    if (err)
        console.warn(err.message);
  });
};

Jeg ved, at folk taler om pooling, men da jeg lavede benchmarking af pooling af mongo-forbindelser vs. en enkelt forbindelse for alle anmodninger, fungerede den enkelte forbindelse faktisk bedre. Indrømmet, det var omkring et år siden, men jeg tvivler på, at det grundlæggende koncept har ændret sig. Alle anmodninger er asynkrone, så det er ikke sådan, at flere forbindelser er nødvendige for at lave samtidige anmodninger.

Hvad MongoClient angår, gætter jeg på, at det er den nye syntaks, de opmuntrer. Uanset hvad, er det i bund og grund en klient objekt, som du vil beholde og gøre tilgængeligt, uanset hvilken stil du bruger.



  1. Søger i mongo db ved hjælp af mongoose regex vs. tekst

  2. Mislykket global initialisering:BadValue Ugyldig eller ingen bruger-lokalitet angivet. Sørg for, at miljøvariablerne LANG og/eller LC_* er indstillet korrekt

  3. MongoDB data/db ikke fundet

  4. Mongodb\BSON\Regex Php:Udfør Like Match