我已经阅读了文档,而且我理解我没有传递模式的实例并检查了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并要求模型。但除此之外是否有任何性能差异或用例差异?我错过了什么吗?