2

我正在使用 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);
};

书籍.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 文件中,所以我创建了一个

模型.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();

当我尝试运行此程序时,出现“找不到模型 books.js 和 user.js”的错误

我认为错误在model.js中所以你能纠正我吗?

4

1 回答 1

1

您可以将models.js文件更改为以下内容:

var users = require('./users');
var books = require('./books');

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

确保您require()的 s 正在访问正确的文件路径。

于 2016-04-19T16:45:29.943 回答