将 mongoose 模型包含到包含在 node.js 文件中的单个 js 中?
include mongoose models into single js which is include in node.js file?
我正在使用 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所以你能纠正我吗
您可以将 models.js
文件更改为如下内容:
var users = require('./users');
var books = require('./books');
module.exports.initialize = function () {
return {
users: users(),
books: books()
};
}
确保您的 require()
正在访问正确的文件路径。
我正在使用 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所以你能纠正我吗
您可以将 models.js
文件更改为如下内容:
var users = require('./users');
var books = require('./books');
module.exports.initialize = function () {
return {
users: users(),
books: books()
};
}
确保您的 require()
正在访问正确的文件路径。