首页 > 解决方案 > MongoDB 更新: CastError: Cast to ObjectId failed for value

问题描述

您好我正在尝试使用此功能更新我的数据库中的某个硬币信息:

const updateCoin = asyncHandler(async (req, res) => {
 const { coinId, seconds, bidAmount } = req.body;

const coin = await Coin.findById({itemId: coinId});

  if (coin) {
    (coin.coinimage = coinImage),
      (coin.coinTitle = coinTitle),
      (coin.bids = bids),
      (coin.timeLeft = timeLeft),
      (coin.currentBid = currentBid),
      (coin.seconds = seconds),
      (coin.bidAmount = bidAmount);

    const updatedCoin = await coin.save();
    res.json(updatedCoin);
  } else {
    res.status(404);
    throw new Error('Coin Not Found');
  }

但是在我的邮递员中,我收到以下错误: CastError: Cast to ObjectId failed for value

我在邮递员中将 ID 作为字符串传递......并且数据库中的 ID 是正确的......为什么它给我一个错误???

标签: node.jsmongodb

解决方案


推荐阅读