Почему Mongoose удаляет самый верхний элемент в моей базе данных, а не идентификатор, соответствующий целевому элементу? - PullRequest
2 голосов
/ 16 марта 2019

Извините, ребята, из-за постоянных вопросов, но этот я не совсем понимаю.

У меня есть кнопка, которая активирует команду / post ниже, чтобы удалить элемент через Mongoose. Однако я обнаружил, что он игнорирует прикрепленный идентификатор:

console.log отображает правильный идентификатор для удаления целевой записи, переменная id также отображает правильный целевой идентификатор, но удаляемая запись представляется самой верхней записью в моем списке, а не идентификатор цели.

Есть ли что-то очевидное, что я не вижу ниже, что может вызвать это? server.js / post ниже:

app.post('/remove/team/:id', (req, res) => {
    console.log("Delete command received. " + req.params.id)
  var id = req.params.id;
  if(!ObjectID.isValid(id)) {
    return res.status(404).send();
  }
  Team.findOneAndRemove(id).then((team) => {
    if(!team) {
      return res.status(404).send();
    }
    res.render("deleteSuccess.hbs", {id});
  }).catch((e) => {
    res.status(400).send();
  });
});

Как всегда, любая предложенная помощь приветствуется. Спасибо за ваше время.

1 Ответ

1 голос
/ 16 марта 2019

Пожалуйста, запустите этот запрос: -

Team.findOneAndRemove({ _id: id })
  .then()
  .catch()

findOneAndRemove принимает условие в качестве первого параметра, а не просто id.

...