【问题标题】:include mongoose models into single js which is include in node.js file?将猫鼬模型包含在 node.js 文件中包含的单个 js 中吗?
【发布时间】:2016-04-19 16:15:42
【问题描述】:

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

};

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

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

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

我认为错误出现在 model.js 中,请您纠正我。

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema node.js-connect


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 2021-04-26
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多