在查看有关拆分模型数据的问题的一些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...
与仅使用mongoose.model...
之间有什么区别?
答案 0 :(得分:11)
mongoose.model
返回它定义的Model
。将其设置为module.exports
可以轻松创建Model
的实例,而无需从连接中检索它。
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
允许我这样做的。请注意这一点不是mongoose
本身的一部分,而是Nodes module system的一部分。