【发布时间】:2014-01-28 00:29:13
【问题描述】:
我有一个 user.js 文件,其中包含我所有的 mongoose 架构和方法,大致如下:
var userSchema = mongoose.Schema({
name: { type: String, required: true, trim: true },
surname: { type: String, required: true },
});
var User = mongoose.model('User', userSchema);
现在,最好公开对数据建模的函数吗?像这样:
exports.addUser = function(data, next){
user = new User(data);
user.save(next);
};
exports.getAll = function(next){
var query = User.find();
query.exec(next);
};
或者像这样只公开User 对象以便在其他地方使用?
module.exports = User; //or
exports.User = User;
我也面临第二个解决方案衍生的问题,假设我想将汽车列表添加到我的userSchema,并且汽车模式在另一个文件 car.js 中定义,那么这意味着我将不得不为我的 user.js 文件公开carSchema,对吗?这意味着我实际上是在取消我上面提供的第二种解决方案,那么,做这种事情的正确方法是什么?
【问题讨论】:
-
我不会将架构定义分散到单个类的多个文件中。
标签: node.js mongodb mongoose mongoose-schema