обновить MongoDB с помощью Express - PullRequest
0 голосов
/ 19 мая 2018

Здравствуйте, ребята, я застрял в обновлении моего MongoDB.Я пробовал много способов для создания этой функции, но каждый раз она возвращается с ошибкой.

это мой последний способ, который я пробовал, который также не работает.

Так вот мой маршрутизатор, где все отлично работает, кроме метода PUT

// Auth Routes
// -----------------------------------------------------------------------------
router.route('/auth/signup')
  .post(AuthenticationController.signup);
router.route('/auth/signin')
  .post([requireLogin, AuthenticationController.signin])
router.route('/users/:user_id/data')
  .get(requireAuth, AuthenticationController.index);
router.route('/users/:user_id/data')
  .put(requireAuth, AuthenticationController.update);

вот моя функция обновления, которая, кажется, не работает

// Update user data
exports.update = function (req, res, next) {
  user.update(conditions, req.body)
  .then(data => {
    if (!data) {return res.status(404).end(); }
    return res.status(200).json(data)
  })
  .catch(err => next(err));
  // res.json({ data: req.user });
}

И моя пользовательская схема

var userSchema = new Schema({
  email: {
    type: String,
    unique: true,
    lowercase: true
  },
  password: {
    type: String
  },
  userData: [{
    role: {
      type: String
    },
    dob: {
      type: String
    },
    firstName: {
      type: String,
    },
    lastName: {
      type: String
    },
    phone: {
      type: Number
    },
    address: [{
      number: { type: String },
      street: { type: String },
      city: { tyle: String },
      postcode: { type: String }
    }],
  }],

userSchema.pre('save', function (next) {
  var user = this;
  if (user.isNew || user.isModified('password')) {
    bcrypt.genSalt(10, function (err, salt) {
      if (err) { return next(err) }
      bcrypt.hash(user.password, salt, null, function (err, hash) {
        if (err) { return next(err) }
        user.password = hash;
        next();
      });
    });
  } else {
    next();
  }
});
module.exports = mongoose.model('user', userSchema);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...