为什么在单独的模型文件中使用model.export?

Eva*_*olo 5 mongoose mongodb node.js express

在查看有关拆分模型数据的问题的一些Stackoverflow答案时,我看到两种不同的格式.见下文:

var UserSchema = mongoose.Schema({
    name: String
})

module.exports = mongoose.model('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)

与此方法:

var UserSchema = mongoose.Schema({
    name: String
})

mongoose.model('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)

使用module.exports...与使用之间有什么区别mongoose.model...

Mat*_*att 11

mongoose.model返回Model它定义的.将其设置为module.exports允许您轻松创建实例Model,而无需从连接中检索它.

a.js

var User = require('./b');
var myUser = new User;
Run Code Online (Sandbox Code Playgroud)

b.js

var UserSchema = mongoose.Schema({
    name: String
})

module.exports = mongoose.model('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)

...注意我可以直接调用new User(在设置Userrequire('./b')... 之后...这是module.exports允许我这样做的.注意这不是mongoose本身的一部分,而是节点模块系统的一部分.