var User = require(' models / users')和var User = mongoose.model(' User')之间的区别是什么?

时间:2017-09-26 19:45:58

标签: express mongoose mongoose-schema

我已经阅读了文档,而且我理解我没有传递模式的实例并检查了stackoverflow的重复项,我没有找到解释差异,用例和专业知识的充分示例对两者都有利。

我一直在使用这两种方法几乎可以互换地访问控制器文件中的模型,所以我想知道两者之间的区别是什么,通常是什么"最佳实践& #34 ;.当你处于一个严重嵌套的文件结构中时,使用mongoose.model()似乎更方便,但我注意到当集合中没有数据存储时它会出错。这是一个使用两种方法的例子,据我所知可以正常工作。

var Slideshow =  require('../models/mongoose/Slideshow');
var Events    = mongoose.model('Events');
Slideshow.find(function (err, slides) {
      Events.find(function (err, events) {
          res.render('demo', {
            slideshow : slides,
            events : events
          });
      });
});

如果我理解第一个正确,它只是使用require来获取user.js mongoose模型定义模式最终运行var User = module.exports = mongoose.model('User', UserSchema);,其中第二个是直接调用mongoose并要求模型。但除此之外是否有任何性能差异或用例差异?我错过了什么吗?

0 个答案:

没有答案