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

Cách tốt nhất để xử lý kết nối toàn cầu của Mongodb trong NodeJs là gì

Tạo Connection mô-đun singleton để quản lý kết nối cơ sở dữ liệu ứng dụng.

MongoClient không cung cấp nhóm kết nối singleton nên bạn không muốn gọi MongoClient.connect() lặp lại trong ứng dụng của bạn. Một lớp singleton để bao bọc ứng dụng mongo hoạt động cho hầu hết các ứng dụng mà tôi đã thấy.

const MongoClient = require('mongodb').MongoClient

class Connection {

    static async open() {
        if (this.db) return this.db
        this.db = await MongoClient.connect(this.url, this.options)
        return this.db
    }

}

Connection.db = null
Connection.url = 'mongodb://127.0.0.1:27017/test_db'
Connection.options = {
    bufferMaxEntries:   0,
    reconnectTries:     5000,
    useNewUrlParser:    true,
    useUnifiedTopology: true,
}

module.exports = { Connection }

Mọi nơi bạn require('./Connection') , Connection.open() sẽ có sẵn phương thức, cũng như Connection.db nếu nó đã được khởi tạo.

const router = require('express').Router()
const { Connection } = require('../lib/Connection.js')

// This should go in the app/server setup, and waited for.
Connection.open()

router.get('/files', async (req, res) => {
   try {
     const files = await Connection.db.collection('files').find({})
     res.json({ files })
   }
   catch (error) {
     res.status(500).json({ error })
   }
})

module.exports = router


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để truy cập phiên bản MongoDB 4.2?

  2. Công cụ giám sát và khám phá máy chủ không được dùng nữa

  3. Nâng cấp hàng loạt trong MongoDB bằng cách sử dụng mongoose

  4. Hoàn thiện nghệ thuật tự động hóa &quản lý cơ sở dữ liệu nguồn mở phổ biến nhất:2017 @ Somenines

  5. Cách tốt nhất để xử lý kết nối toàn cầu của Mongodb trong NodeJs là gì