Метод PUT с использованием Axios - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь обновить своего пользователя, добавив в него несколько новых полей, например firstName и lastName.В консоли сервера я получаю 200 статусов, но к объекту ничего не добавляется.Любая идея, что я делаю не так в этом?

Это из моего userAction.js

export function updateUserData(firstName, lastName) {
  return function (dispatch, getState) {
    const state = getState();
    const { user_id, token } = state.auth;
    return axios.put(USER_DATA(user_id), { firstName, lastName }, {
      headers: { authorization: token }
    }).then((response) => {
      dispatch(updatedUserData(response.data));
      console.log(response.data)
    }).catch((err) => {
      dispatch(console.log("Couldn't update user data."));
    });
  };
}

Это из моего файла authenticationController.js из бэкэнда

exports.update = function (req, res) {
  User.findByIdAndUpdate(req.user._id, {
    $set: {
      email: req.body.email,
      password: req.body.password,
      userData: [{
        role: req.body.role,
        firstName: req.body.firstName,
        lastName: req.body.lastName,
        phone: req.body.phone,
        cscs: req.body.cscs,
        address: [{
          number: req.body.number,
          street: req.body.street,
          city: req.body.city,
          postcode: req.body.postcode
        }],
      }],
    }
  }, { upsert: true }, function (err, user) {
    if (err) {
      res.json(err);
    } else {
      res.json(user);
    }
  })
}

мой router.js

router.route('/users/:user_id/data')
  .get(requireAuth, AuthenticationController.index)
  .put(requireAuth, AuthenticationController.update);

и вот ответ после обновления

{
    "_id" : ObjectId("5b0df225287cc77612ed89a5"),
    "email" : "user@user.com",
    "password" : "$2HbyP4.ts9O/zrjV5Pcd/Z28bhOb8oGas9wEG",
    "userData" : [ 
        {
            "firstName" : "First Name",
            "lastName" : "Last Name",
            "_id" : ObjectId("5b0df225287cc77612ed89a6"),
            "address" : [ 
                {
                    "_id" : ObjectId("5b0df225287cc77612ed89a7")
                }
            ]
        }
    ],
    "__v" : 0
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...