Мягкое удаление с помощью Mongoose не работает - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь мягко удалить элементы, используя следующий код Mongoose:

// Remove a client
exports.delete = (req, res) => {
  logger.info(`Removing Client ${req.params.clientId}`);
  Client.findByIdAndUpdate(
    { _id: req.params.clientId },
    { active: false },
    { new: true }
  )
  .then(client => {
    logger.info('client: ', client);
    if (!client) {
      return res.sendStatus(404);
    }
    res.sendStatus(204);
  })
  .catch(err => {
    logger.error(err);
    res.status(422).send(err.errors);
  });
};

Но по какой-то причине флаг active просто не хочет устанавливать значение false.Журнал показывает, что передается clientId, а код then содержит данные клиента, но флаг active по-прежнему установлен на true.Нужно ли как-то сбрасывать или фиксировать?

Правка - Добавление схемы

export const ClientSchema = new Schema(
  {
    name: {
      type: String,
      trim: true,
      index: true,
      unique: true,
      required: true,
    }
  },
  { collection: 'clients' }
);

1 Ответ

0 голосов
/ 22 мая 2018

Как вы сказали в комментарии.

Вы забыли добавить поле active в схему мангуста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...