Why use model.export in separate model files?

Looking at some of Stackoverflow's answers to questions about sharing model data, I see two different formats. See below:

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

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

compared to this method:

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

mongoose.model('User', UserSchema);

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

+5
source share
1 answer

mongoose.modelreturns Modelwhich it defines. By setting it as module.exports, you can easily create instances Modelwithout removing 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);

... , new User ( User require('./b')... , module.exports. , mongoose per-se, .

+11

All Articles