我使用Node-Mongo-Native并试图设置一个全局连接变量,但我对两种可能的解决方案感到困惑.你们能帮我找出哪一个是好的吗?
var express = require('express');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var assert = require('assert');
// Connection URL
var url = '[connectionString]]';
// start server on port 3000
app.listen(3000, '0.0.0.0', function() {
// print a message when the server starts listening
console.log("server starting");
});
// Use connect method to connect to the server when the page is requested
app.get('/', function(request, response) {
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
db.listCollections({}).toArray(function(err, collections) {
assert.equal(null, err);
collections.forEach(function(collection) {
console.log(collection);
});
db.close();
})
response.send('Connected - see console for a list of available collections');
});
});
-
解决方案(在app init连接并将连接字符串分配给全局变量).但我认为将连接字符串指定给全局变量不是一个好主意.
var mongodb;
我想在应用程序初始化时创建一个连接,并在整个应用程序生命周期内使用.
你们能帮帮我吗?谢谢