2013-03-17 4 views
5

モデルデータの分割に関する質問については、いくつかのStackoverflowの回答を見ていますが、2つの異なる形式があります。以下を参照してください:なぜmodel.exportを別々のモデルファイルで使用するのですか?

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

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

この方法対:

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

mongoose.model('User', UserSchema); 

だけmongoose.model...を使用して対module.exports...を使用しての違いは何ですか?

答えて

11

mongoose.modelは、それが定義するModelを返します。 module.exportsと設定すると、Modelのインスタンスを接続から取得せずに簡単に作成できます。

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

b.js

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

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

a.js

...私が直接、これは... require('./b')するUserを設定した後(new Userを呼び出すことができますどのように注意してくださいmodule.exportsは私に許可します。これはmongooseの一部ではなく、Nodes module systemの部分であることに注意してください。

関連する問題