Attualmente ho tutti i miei modelli (definizioni dello schema) nel file /models/models.js per l'applicazione Mongoose/NodeJS.Struttura file del progetto Mongoose & NodeJS
vorrei rompere questi pezzi in file diversi, come ad esempio: user_account.js, profile.js, ecc, tuttavia io non riesco a farlo da violano i miei regolatori e di riferire "non riesce a trovare il modulo" una volta Io divario queste classi.
La mia struttura del progetto è la seguente:
/MyProject
/controllers
user.js
foo.js
bar.js
// ... etc, etc
/models
models.js
server.js
Il contenuto del mio file models.js aspetto:
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 }
});
Il mio file user.js (controllore) si presenta così:
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?! :)
}
Come posso rompere la definizione dello schema in più file e farvi riferimento anche dal mio contro ller? Quando faccio riferimento a esso (dopo lo schema è in un nuovo file) ottengo questo errore:
* Errore: schema non è stato registrato per il modello "user_account" *
pensieri.?
ho scritto modulo mangusta-collante che aiuta a strutturare i vostri modelli mangusta: https: // github.com/xpepermint/mongoose-glue – xpepermint