Anda selalu dapat menulis modul yang menginisialisasi koneksi database Anda, dan membuatnya dapat diakses di seluruh program Anda. Misalnya:
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);
});
};
Saya tahu orang berbicara tentang penyatuan, tetapi ketika saya melakukan pembandingan penyatuan sambungan mongo vs. satu sambungan untuk semua permintaan, sambungan tunggal sebenarnya berkinerja lebih baik. Memang, ini sekitar setahun yang lalu, tetapi saya ragu bahwa konsep dasarnya telah berubah. Semua permintaan tidak sinkron, jadi tidak seperti beberapa koneksi yang diperlukan untuk membuat permintaan secara bersamaan.
Sejauh MongoClient, saya rasa itulah sintaks baru yang mereka dorong. Bagaimanapun, itu pada dasarnya adalah klien objek yang ingin Anda simpan dan buat agar dapat diakses terlepas dari gaya yang Anda gunakan.