я хочу обновить свою запись, используя findOneAndUpdate в node.js и mongodb. обновить все записи ожидать полного имени - PullRequest
0 голосов
/ 03 мая 2020

Это моя схема и функция обновления, здесь она обновляет все записи, ожидая полного имени.

var employeeSchema = new Schema({
  fullname: {
    type: String,
  },

  email: {
    type: String,
    require: true,
  },

  mobile: {
    type: String,
    require: true,
  },
});

function UpdateEmployee(req, res) {
  Employee.findOneAndUpdate(
    { _id: req.body._id },
    req.body,
    { new: true },
    (err, docs) => {
      if (!err) {
        res.json(docs);
        //res.redirect('employee/list');
      } else {
        res.json("Updation Error " + err);
      }
    }
  );
}

1 Ответ

0 голосов
/ 03 мая 2020

Удалить пару ключ-значение из объекта обновления

function UpdateEmployee(req, res) {
  let data = {...req.body};
  delete data['fullname'];
  Employee.findOneAndUpdate(
    { _id: data._id },
    data,
    { new: true },
    (err, docs) => {
      if (!err) {
        res.json(docs);
        //res.redirect('employee/list');
      } else {
        res.json("Updation Error " + err);
      }
    }
  );
}

ИЛИ с распространением полного имени ключа

function UpdateEmployee(req, res) {
  const {fullname,...data}= req.body;
  Employee.findOneAndUpdate(
    { _id: data._id },
    data,
    { new: true },
    (err, docs) => {
      if (!err) {
        res.json(docs);
        //res.redirect('employee/list');
      } else {
        res.json("Updation Error " + err);
      }
    }
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...