Javascript 在多个路由之间共享数据库连接?

Javascript 在多个路由之间共享数据库连接?,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我根据的示例创建了一个非常简单的应用程序。我想用驱动程序启动此应用程序。本例仅列出用户和小猫 var express = require('express'); var app = express(); var mongoose = require('mongoose'); var user = require('./user'); var kitten = require('./kitten'); // Connect MongoDB mongoose.connect('mongodb://

我根据的示例创建了一个非常简单的应用程序。我想用驱动程序启动此应用程序。本例仅列出
用户
小猫

var express = require('express');
var app = express();
var mongoose = require('mongoose');
var user = require('./user');
var kitten = require('./kitten');

// Connect MongoDB
mongoose.connect('mongodb://localhost/mongoose');

// Express config here
...

// User
app.all('/users', user.list);

// Kitten
app.all('/kittens', kitten.list);

// Mongoose connection
var db = mongoose.connection;
db.once('open', function callback () {
  var kittySchema = mongoose.Schema({ name: String });
});

if (!module.parent) {
  app.listen(3000);
  console.log('Express started on port 3000');
}
在我看来,在启动时连接到Mongo数据库比每次请求都要明智


但是我如何与
用户
小猫
路线共享猫鼬的连接呢?我知道如果我不需要共享两者之间的连接,我可以直接连接到我的
user.js
kitten.js
代码中的数据库。

node.js
中当你需要一个文件时,你只需运行该文件中的代码一次。这意味着你可以通过关闭来存储东西

foobardb.js

(function(){
  "use strict"; // always nice to have

  var mongoose = require('mongoose'),
      databaseConnection; 

  module.exports = function() {

      if ( !databaseConnection ) {
           mongoose.connect('mongodb://localhost/mongoose')
           databaseConnection = mongoose.connection;
      }

      (...)
  };

})();
databaseConnection
将与所有
require(“foobardb.js”)共享你知道吗