MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Node.js и MongoDB, повторно използване на DB обекта

Винаги можете да напишете модул, който инициализира вашите връзки към базата данни и ги прави достъпни във вашата програма. Например:

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);
  });
};

Знам, че хората говорят за обединяване, но когато направих сравнителен анализ на обединяване на mongo връзки спрямо единична връзка за всички заявки, единичната връзка всъщност се представи по-добре. Разбира се, това беше преди около година, но се съмнявам, че основната концепция се е променила. Всички заявки са асинхронни, така че не е като да са необходими множество връзки, за да се правят едновременни заявки.

Що се отнася до MongoClient, предполагам, че това е новият синтаксис, който те насърчават. Така или иначе, по същество това е клиент обект, който искате да запазите и да направите достъпен, независимо кой стил използвате.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Колко безопасен е безопасният режим на MongoDB при вмъквания?

  2. Направете комбинация от две полета уникална в моята колекция

  3. Как да сортирате документи въз основа на дължината на поле от масив

  4. Mongoose и нова схема:връща ReferenceError:схемата не е дефинирана

  5. MongoDB:Как да намерите n-тата най-висока заплата от колекцията