我正在使用mongo mongoose创建节点应用程序。我有模型单独的文件,其中创建了所有数据模块,我想将所有数据模型配置为一个js文件,我们必须包含在node.js文件中(server.js ) 这里我有user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
module.exports = function() {
var users = new Schema({
name : String
, body : String
, date : Date
});
mongoose.model("users", users);
};
books.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
module.exports = function() {
var books = new Schema({
title : String
});
mongoose.model("books", books);
};
现在我希望将这些books.js和user.js文件包含在一个单独的js文件中 所以我创建了一个
model.js
var models = ['users.js','books.js'];
module.exports.initialize = function() {
var l = models.length;
for (var i = 0; i < l; i++) {
require(models[i])();
}
};
我在server.js文件中包含了这个model.js文件
require('./models/model.js').initialize();
当我试图运行时,我收到“无法找到model books.js和user.js”的错误
我认为错误发生在model.js所以,请你纠正我。
答案 0 :(得分:1)
您可以将models.js
文件更改为以下内容:
var users = require('./users');
var books = require('./books');
module.exports.initialize = function () {
return {
users: users(),
books: books()
};
}
确保您的require()
正在访问正确的文件路径。