У меня есть user.js файла, который содержит всю мой мангуст схему и методы, примерно так:мангуст лучших практики для объектов
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 файл, не так ли? Это означает, что я фактически сворачиваю второе решение, которое я изложил выше, а затем, каков правильный способ делать такие вещи?
Я бы не распространял определение схемы для нескольких файлов для одного класса. – WiredPrairie