У меня есть конечная точка REST, которая отправляется с объектом JSON (Пользователь), и я просто установил соответствующую запись монго в этот объект JSON. Это избавляет меня от необходимости обновлять изменения схемы в методе службы, а конечная точка оставляет только модель Mongoose для обновления.Обновление схемы Mongoose с объектом JSON через конечную точку REST
Что было бы более безопасным способом сделать это, если таковое имеется?
JSON Пример пользователя
{
'fname': 'Bill',
'lname': 'Williams',
'email': '[email protected]',
'settings': {
'strokeColor': '#FF0000'
}
}
С моей угловыми службы
Update: function(my_user) {
return $http.put('http://api.domain.com/v1/api/users/' + _user.id, {
user: my_user,
token: window.localStorage['token']
});
}
Моя REST конечной точки в узле
api.route('/users/:user_id')
.put(function(req, res) {
User.findById(req.params.user_id, function(err, user) {
userData = req.body.user;
if (user) {
//-- This is potential trouble area?
User.update({'_id': user._id}, {$set: userData});
user.save(function(err) {
res.json({
success: true,
message: 'User updated'
});
}); //-- end findById()
}); //-- end /users/:user_id put() route
Вы должны обязательно подтвердить этот объект, чтобы убедиться, что он имеет только ключи, которые конкретному пользователю разрешено обновлять/добавлять, и что пользователю разрешено обновлять эту конкретную запись пользователя. –