我目前正在开展一个小型的个人多人游戏项目。我正在使用node.js以及express.js,mongoose和socket.io。这是我的第一个使用JavaScript的项目,我来自C / C ++背景。
问题是: 是否有某种通用要求是可能的: 我目前在项目根目录中有一个模型文件夹,所有的猫鼬模型都在那里, 它们看起来都像这个:
function make(Schema, mongoose) {
var UserSchema = new Schema({
name : String
, passwd : String
, is_online : Boolean
, socket_id : Number
});
mongoose.model('User', UserSchema);
}
module.exports.make = make;
如果我没记错的话,我在stackoverflow上找到了这个方法。现在,当我启动node.js应用程序时,我必须连接到数据库,然后必须调用所有make函数。
有没有通用的方法呢?
像这样思考(伪代码):
models = require('./models/');
for each m in models do
{
m.make(Schema, mongoose);
}
答案 0 :(得分:1)
我做的有点不同:
var UserSchema = new Schema({
name : String
, passwd : String
, is_online : Boolean
, socket_id : Number
});
module.exports = mongoose.model('User', UserSchema);
现在我可以要求模型并立即使用它:
var userModel = require('models/user');
userModel.find()//...