我需要一个mongoose模型或者直接从mongoose那里得到它

我有一个模型在文件models/Model.js是这样的:

 const mongoose = require('mongoose') const modelSchema = mongoose.Schema({ name: String }) const Model = mongoose.model('Model', modelSchema) module.exports = Model 

然后,当我使用它,我像任何其他模块导入它:

 const Model = require('../models/Model') 

我的问题是:如果每次我require一个模块的代码执行(在这种情况下,它会“运行”每次我导入Model.js ),是否更有效率(或至less更有意义)导入它喜欢这个?:

 const mongoose = require('mongoose') const Model = mongoose.model('Model') 

你的问题包含一个错误的假设:

如果每次我需要一个模块的代码执行(在这种情况下,它会“运行”每次我导入Model.js)…

Model.js中的代码只在第一次运行时被调用来加载该模块。 然后将生成的模块对象放在require.cache ,然后对同一模块的后续require调用只需从caching中返回相同的模块对象。

所以这两种方法之间没有明显的性能差异,这取决于你的个人喜好。