我需要导出我的 mongoose 数据库模块,这样我就可以使用程序中每个模块中定义的模型。
例如,我的 database.js 模块看起来像这样:
var mongoose = require('mongoose'),
db = mongoose.createConnection('mongodb://localhost/newdb'),
Schema = mongoose.Schema;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
console.log("Connected to database newdb");
var dynamicUserItemSchema = new mongoose.Schema({
userID: Number,
rank: Number,
});
var staticUserItemSchema = new mongoose.Schema({
_id: Schema.Types.Mixed,
type: Schema.Types.Mixed,
});
var DynamicUserItem = db.model('DynamicUserItem', dynamicUserItemSchema);
var StaticUserItem = db.model('StaticUserItem', staticUserItemSchema);
});
我希望能够将 var db = require('../my_modules/database');
添加到我的程序的任何其他模块 - 所以我将能够使用这样的模型:
db.DynamicUserItem.find();
或 item = new db.DynamicUserItem({});
是否可以使用“导出”或“模块导出”来做到这一点?谢谢。
最佳答案
我通常不使用 error
和 open
事件并遵循 mongoosejs 中的示例创建与我的数据库的连接。使用示例,您可以执行以下操作。
db.js
var mongoose = require('mongoose');
var db = mongoose.createConnection('localhost', 'test');
var schema = mongoose.Schema({ name: 'string' });
var Cat = db.model('Cat', schema);
module.exports = Cat; // this is what you want
然后在您的 app.js 中您可以执行类似的操作
var Cat = require('db');
var peter = new Cat();
希望有帮助!
关于javascript - 导出 mongoose 数据库模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13668547/