我有一个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中定义的,那么这意味着我将不得不将carSchema
暴露给我的user.js文件,是吗?这意味着我实际上正在否定我提供的第二个解决方案,那么,正确的方法是如何做这种事情呢?