Bir önceki durumdaki Güncelleme - findOneAndUpdate - Gelincik

oy
0

Ben bir model güncellemek için önceki bir durumu eklemeniz gerekir. Beton, tüm kullanıcıların bir rol var. Sadece admin kullanıcıların kendi rolü hariç, diğer kullanıcıların verileri değiştirebilirsiniz. Örneğin, ben A kullanıcısı değilim ve yönetici değilim. Onun rolü de dahil olmak kullanıcının B verileri değiştirebilirsiniz. Ama kendi rolünü değiştiremezler. Bu durumda kullanıcı A kullanıcının A rolünü değiştiremezsiniz. Şimdiye kadar her şey var ama güncelleme işlevi koşul ekleyemezsiniz.

  User.findOneAndUpdate(req.params.id, req.body, { new: true }, (err, result) => {
  if (err) console.log(err);
  res.send(result);
})

Elimden gelen en şuydu:

exports.update = function (req, res) {

  const prevRole = req.user.role;

  if (req.user._id.toString() === req.params.id) {
    if (prevRole !== req.body.role) {
      res.json({ message: Can not update own user role. })
    }
  } else {
    User.findOneAndUpdate(req.params.id, req.body, { new: true }, (err, result) => {
      if (err) console.log(err);
      res.send(result);
    })
  }
}

Ben findOneAndUpdate alan koşulu yerleştirebilir, özetlersek ()? Bazı durumlarda, nasıl ön kanca yazılım kullanılması yapabildi?

Teşekkür ederim!

Oluştur 13/01/2020 saat 22:03
kaynak kullanıcı
Diğer dillerde...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more