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

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

var UserSchema = mongoose.Schema({ name: String }) module.exports = mongoose.model('User', UserSchema); 

与此方法相比:

 var UserSchema = mongoose.Schema({ name: String }) mongoose.model('User', UserSchema); 

使用module.exports...与仅使用module.exports...什么区别?

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

a.js

 var User = require('./b'); var myUser = new User; 

b.js

 var UserSchema = mongoose.Schema({ name: String }) module.exports = mongoose.model('User', UserSchema); 

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