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

chia sẻ kết nối db trên toàn bộ ứng dụng trong mongoose

Tùy chọn 1:Sử dụng đối tượng được chia sẻ

Mã mô hình của tôi trông tương tự, nhưng thay vì liên tục yêu cầu các mô-đun, tôi chỉ yêu cầu chúng một lần khi ứng dụng khởi động và sau đó gán kết quả cho một đối tượng được chia sẻ. Ví dụ:nếu bạn đang sử dụng một ứng dụng express, bạn có thể làm như vậy một cái gì đó như app.locals.models.User = require('./models/user'); . Sau đó, bất kỳ thứ gì có quyền truy cập vào ứng dụng app có thể xem các mô hình của bạn mà không cần yêu cầu.

Tùy chọn 2:Đảm bảo một sửa đổi duy nhất trong chức năng đã xuất

Bạn có thể xác định mô-đun người dùng của mình như sau:

var mongoose = require('mongoose');

var userSchema = new mongoose.Schema({name: String});

var User = null;

module.exports = function(db) {
  if (db && User === null) {
    User = db.model('User', userSchema);
  }
  return User;
};

Khi khởi động ứng dụng của mình, bạn chỉ cần:require('./models/user')(db) . Các yêu cầu tiếp theo của các mô-đun khác trong ứng dụng của bạn có thể làm giảm db paramater, với tư cách là User sẽ chỉ được đặt một lần.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Phần còn lại của dữ liệu khởi động mùa xuân, ràng buộc @Notnull không hoạt động

  2. MongoDB Không bắt đầu được - *** hủy bỏ sau khi thất bại fassert ()

  3. Làm cách nào để chuyển đổi BsonDocument thành một đối tượng được gõ mạnh bằng trình điều khiển MongoDB C # chính thức?

  4. hạn chế lưu trữ các giá trị trùng lặp trong mongodb

  5. Truy vấn một trường trong một đối tượng trong mảng với Mongo?