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

node-mongodb-native:Bagaimana saya bisa membagikan objek db api dari panggilan balik koneksi melalui aplikasi saya

Db.open membuka koneksi ke mongodb dan mengembalikan referensi ke dirinya sendiri. Lihat di sini untuk kode sumber:https ://github.com/mongodb/node-mongodb-native/blob/master/lib/mongodb/db.js#L245

Yang Anda inginkan hanyalah menunda memulai aplikasi ekspres Anda mendengarkan di portnya dan menerima permintaan hingga koneksi Anda ke mongodb telah dibuat.

Jadi yang bisa Anda lakukan adalah ini:

var mongodb = require("mongodb"),
    express = require("express"),
    mongoServer = new mongodb.Server('localhost', 27017),
    dbConnector = new mongodb.Db('example', mongoServer),
    db;

var app = new express();

app.get('/products', function(req, res, next) {
  db.collection('products', function(err, collection) {
    if (err) next(new Error(err));
    collection.find({}, function(err, products) {
      res.send(products);
    });
  });
});

db_connector.open(function(err, opendb) {
  if (err) throw new Error(err);
  db = opendb;
  app.listen(3000);
});

Yang saya tidak yakin adalah apakah ini ide yang bagus. Solusi ini tidak memungkinkan Anda untuk membuat ulang koneksi Anda jika koneksi terputus atau Anda memulai kembali proses mongodb Anda. Jadi, sementara hal di atas mungkin berhasil, mungkin ide yang lebih baik untuk membuat metode yang akan membungkus pembuatan koneksi ke mongodb.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. meteor $tarik hapus dari array

  2. Melewati informasi Jenis ke MongoDB sehingga dapat membatalkan serialisasi jenis antarmuka dengan benar?

  3. Hitung peristiwa dan masukkan string literal selama agregasi

  4. Grup Mongodb dan Dorong dengan array kosong

  5. Isi bidang tertentu di $lookup