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

Express 什么';var User=require(';models/users';)和var User=mongoose.model(';User';)之间的区别是什么?,express,mongoose,mongoose-schema,Express,Mongoose,Mongoose Schema,我已经阅读了文档,我知道我没有传递模式的实例,也没有检查stackoverflow是否存在重复项,我没有找到一个充分的示例来解释两者的差异、用例和优缺点 我一直在使用这两种方法几乎可以互换地访问控制器文件中的模型,因此我想知道这两种方法与通常的“最佳实践”之间的区别是什么。当您处于嵌套严重的文件结构中时,使用mongoose.model()似乎更方便,但我注意到,当集合中没有存储数据时,它会出错。这里是一个使用这两种方法的示例,据我所知,这两种方法都很有效 var Slideshow = re

我已经阅读了文档,我知道我没有传递模式的实例,也没有检查stackoverflow是否存在重复项,我没有找到一个充分的示例来解释两者的差异、用例和优缺点

我一直在使用这两种方法几乎可以互换地访问控制器文件中的模型,因此我想知道这两种方法与通常的“最佳实践”之间的区别是什么。当您处于嵌套严重的文件结构中时,使用
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并询问模型。但除此之外,还有任何性能差异或用例差异吗?有什么我错过的吗