Предполагается, что у меня есть файл user.js, который является моей моделью пользователя. Это выглядит следующим образом:Как использовать экземпляры модели с ExpressJS, NodeJS
var user = function(data) {
this.data = data;
}
user.getUserByID = function(data, callback) {
db.get(...., function(data) {
callback(new user(data));
});
}
user.prototype.save = function(data, callback) {
this.data = data;
db.save(...., function(result) {
callback(result);
});
}
module.exports = user;
И теперь мой маршрутизатор имеет два пути:
app.get('/profile', function(req, res) {
user.getUserByID(req.user.id, function(user) {
res.someAction(user);
});
});
app.post('/updateProfile', function(req, res) {
user.getUserByID(req.user.id, function(user) {
user.save(req.body.data);
res.someAction(user);
});
});
Теперь, вот, я должен получить экземпляр пользователя еще раз, когда я должен сохранить его, что я не» Мне очень нравится. Я бы идеально хотел, чтобы пользователь был доступен все время. Также, что происходит со старым пользовательским объектом? Можно ли это как-то упорствовать?
Что такое хороший способ организовать код моей модели? Я использую mysql db и node-mysql.
Вы хотите, чтобы пользовательский объект из запроса GET/profile сохранялся в запросе POST/updateProfile? – byteSlayer
Yup. Хотя, если есть способы лучше, чем строить мою модель, я также открыт для этого. – rufferzool