将mongoose模型包含在node.js文件中包含的单个js中?

我正在创build节点应用程序使用mongo mongoose。我有模型单独的文件,其中所有数据模块创build,我想configuration所有数据模型到一个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文件中,所以我创build了一个

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])(); } }; 

我将这个model.js文件包含在server.js文件中

 require('./models/model.js').initialize(); 

当我试图运行这个,我得到错误,“无法find模型books.js和user.js”

我认为错误是在model.js所以,请你纠正我。

你可以改变你的models.js文件到这样的东西:

 var users = require('./users'); var books = require('./books'); module.exports.initialize = function () { return { users: users(), books: books() }; } 

确保您的require()正在访问正确的文件path。