0

我目前正在开发一个小型个人多人游戏项目。我正在使用 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);
}
4

1 回答 1

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()//...
于 2012-06-16T18:02:29.093 回答