MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Apa cara terbaik untuk menangani koneksi global Mongodb di NodeJs

Buat Connection modul tunggal untuk mengelola koneksi database aplikasi.

MongoClient tidak menyediakan kumpulan koneksi tunggal sehingga Anda tidak ingin memanggil MongoClient.connect() berulang kali di aplikasi Anda. Kelas tunggal untuk membungkus klien mongo berfungsi untuk sebagian besar aplikasi yang pernah saya lihat.

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 }

Di mana pun Anda require('./Connection') , Connection.open() metode akan tersedia, seperti halnya Connection.db properti jika telah diinisialisasi.

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. Tentukan Beberapa Kriteria untuk Elemen Array

  2. Bagaimana cara menghindari @ dalam kata sandi dalam koneksi pymongo?

  3. Bagaimana cara menjalankan perintah mongo melalui skrip Shell?

  4. Bagaimana cara menampilkan gambar base64 dalam reaksi?

  5. Apakah MongoDB mendukung tipe floating point?