【问题标题】:Understanding mongoose connections in express.js了解 express.js 中的猫鼬连接
【发布时间】:2017-02-03 11:11:08
【问题描述】:

我正在使用以下项目学习 express.js: https://github.com/scotch-io/easy-node-authentication/tree/linking

在 server.js 中,我可以看到并理解以下使用 database.js 中的 url 启动与数据库的连接:

var mongoose = require('mongoose');
var configDB = require('./config/database.js');
mongoose.connect(configDB.url);

/app/models/user.js 包含以下内容:

var mongoose = require('mongoose');
var userSchema = mongoose.Schema({

    local            : {
        email        : String,
        password     : String,
    },
...
}
module.exports = mongoose.model('User', userSchema);

最后 /config/passport.js 包含:

var User = require('../app/models/user');

我可以看到 passport.js 如何从 user.js 获取模型,但是我无法理解 user.js 如何知道 server.js 中的连接设置,因为未导出启动的对象“mongoose”?

我错过了什么?

【问题讨论】:

    标签: node.js mongodb express


    【解决方案1】:

    你可以在这个文件的最后一行看到index.js

    var mongoose = module.exports = exports = new Mongoose;

    这意味着,Mongoosee 将只导出一个实例(单例)来处理数据库操作。因为您首先在server.js 文件中创建连接,所以之后,任何包含/需要的模型都将连接到您的数据库服务器。所有应用都可以在单个对象上运行。

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 2021-05-03
      • 2013-08-18
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多