为什么在单独的模型文件中使用model.export? [英] Why use model.export in separate model files?

查看:175
本文介绍了为什么在单独的模型文件中使用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 ... 而不是使用 mongoose.model ...

解决方案

p> mongoose.model 返回它定义的模型。将它设置为 module.exports 允许您轻松创建 Model 的实例,而不从连接中检索。 / p>

a.js

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

b.js

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

module.exports = mongoose.model 'User',UserSchema);

...注意我可以直接调用新用户(设置用户成为 require('./ b') ...这是什么 module.exports 允许我这样做,请注意,这不是 mongoose per-se的一部分,而是节点模块系统


While looking at some Stackoverflow answers for questions about splitting out model data, I see two different formats. See below:

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

module.exports = mongoose.model('User', UserSchema);

versus this method:

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

mongoose.model('User', UserSchema);

What is the difference between using module.exports... versus just using mongoose.model...?

解决方案

mongoose.model returns the Model it defines. Setting it as module.exports allows you to easily create instances of the Model, without retrieving it from the connection.

a.js

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

b.js

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

module.exports = mongoose.model('User', UserSchema);

... note how I can directly call new User (after setting User to be require('./b')... this is what module.exports allows me to do. Note this isn't part of mongoose per-se, but of Nodes module system.

这篇关于为什么在单独的模型文件中使用model.export?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆