J'ai actuellement tous mes modèles de Schéma (définitions) dans le /models/models.js fichier pour mon Mangouste/NodeJS application.
Je voudrais briser ces à l'écart, dans des fichiers différents tels que: user_account.js, profile.js, etc. Cependant, je n'arrive pas à le faire alors que mon contrôleurs de pause et de faire rapport "impossible de trouver le module" une fois que je tire de ces classes, à l'exception.
Mon projet est le suivant:
/MyProject
/controllers
user.js
foo.js
bar.js
// ... etc, etc
/models
models.js
server.js
Le contenu de mon models.js fichier ressemble à ceci:
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
mongoose.connect('mongodb://localhost/mydb');
var UserAccount = new Schema({
user_name : { type: String, required: true, lowercase: true, trim: true, index: { unique: true } },
password : { type: String, required: true },
date_created : { type: Date, required: true, default: Date.now }
});
var Product = new Schema({
upc : { type: String, required: true, index: { unique: true } },
description : { type: String, trim: true },
size_weight : { type: String, trim: true }
});
Mon user.js fichier (contrôleur) ressemble à ceci:
var mongoose = require('mongoose'),
UserAccount = mongoose.model('user_account', UserAccount);
exports.create = function(req, res, next) {
var username = req.body.username;
var password = req.body.password;
// Do epic sh...what?! :)
}
Comment puis-je briser la définition de schéma dans plusieurs fichiers et également de référence à partir de mon contrôleur? Quand je fais référence (après le schéma est dans un nouveau fichier), j'obtiens cette erreur:
*Erreur: Schéma n'a pas été enregistré pour le modèle "user_account".*
Pensées?