为什么 Mongoose 会删除我数据库中最顶部的项目,而不是与目标项目匹配的 ID?

Why is Mongoose deleting the top most item in my database, rather than the id matching the target item?

抱歉老是提问题,但是这个我不太明白。

我有一个按钮可以激活下面的 /post 命令以通过 Mongoose 删除项目。但是,我发现它忽略了附加的 :id。

console.log 显示删除目标条目的正确 ID,id 变量也显示被定位的正确 ID,但被删除的条目似乎是我列表中最上面的条目,而不是目标 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();
  });
});

一如既往,我们将不胜感激。谢谢你的时间。

请运行查询:-

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

findOneAndRemove 将条件作为第一个参数,而不仅仅是 id。