2013-03-17 5 views
5

Patrząc na niektóre odpowiedzi Stackoverflow na pytania dotyczące podziału danych modelu, widzę dwa różne formaty. Patrz poniżej:Dlaczego warto używać model.export w oddzielnych plikach modelu?

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

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

kontra tej metody:

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

mongoose.model('User', UserSchema); 

Jaka jest różnica między używaniem module.exports... kontra tuż przy użyciu mongoose.model...?

Odpowiedz

11

mongoose.model zwraca nazwę Model, którą definiuje. Ustawienie go jako module.exports umożliwia łatwe tworzenie instancji modelu Model bez pobierania go z połączenia.

a.js

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

b.js

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

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

... pamiętać, w jaki sposób można wywołać bezpośrednio new User (po ustawieniu User być require('./b') ... to jest co pozwala mi na to module.exports. Uwaga: nie jest to część mongoose per-se, ale z Nodes module system.

Powiązane problemy