目前我所有的模型(模式定义)都在/models/models中.我的Mongoose/NodeJS应用程序的js文件.
我想把它们分成不同的文件,比如:user_account.js,个人资料.然而,当我把这些类分开后,我的控制器中断并返回"cannot find module"时,我似乎不能这样做.
我的项目 struct 如下:
/MyProject
/controllers
user.js
foo.js
bar.js
// ... etc, etc
/models
models.js
server.js
我模型的内容.js文件如下所示:
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 }
});
我的用户.js文件(控制器)如下所示:
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?! :)
}
如何将模式定义分解为多个文件,并从控制器引用它?当我引用它时(模式在新文件中之后),我会出现以下错误:
*错误:尚未为模型"user_account"注册架构*
思想?