MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Node.js và MongoDB, sử dụng lại đối tượng DB

Bạn luôn có thể viết một mô-đun khởi tạo các kết nối cơ sở dữ liệu của bạn và làm cho chúng có thể truy cập được trong suốt chương trình của bạn. Ví dụ:

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

Tôi biết mọi người nói về việc gộp chung, nhưng khi tôi đo điểm chuẩn của việc gộp các kết nối mongo so với một kết nối duy nhất cho tất cả các yêu cầu, kết nối đơn lẻ thực sự hoạt động tốt hơn. Đúng là, đây là khoảng một năm trước, nhưng tôi nghi ngờ rằng khái niệm cơ bản đã thay đổi. Tất cả các yêu cầu đều không đồng bộ, vì vậy không phải cần nhiều kết nối để thực hiện các yêu cầu đồng thời.

Đối với MongoClient, tôi đoán đó là cú pháp mới mà họ đang khuyến khích. Dù bằng cách nào, về cơ bản nó là một khách hàng đối tượng mà bạn muốn giữ lại và có thể truy cập được bất kể bạn sử dụng kiểu nào.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB trên máy chủ EC2 hoặc AWS SimpleDB?

  2. Sự cố Google Compute Engine safe_format_mount - chỉ định lỗi loại hệ thống tệp

  3. Mongodb:Chuyển đổi không được hỗ trợ từ mảng sang objectId trong $ convert không có giá trị onError

  4. MongoDB remove ()

  5. So sánh hai mảng đối tượng và kiểm tra xem chúng có các phần tử chung không