我的MongoDB文档不能保存,我无法确定吗?

t9aqgxwy  于 2022-10-22  发布在  Go
关注(0)|答案(1)|浏览(130)

场景:我的NodeJS服务器上有一个端点来编辑订单文档上的退货地址。客户端和端点通信很好,当我通过控制台记录更新的订单文档时,地址甚至会更改,但它实际上从未保存在数据库中。以下是终结点:

const editShipsFromAddress = async (req, res) => {
  const { orderId, address, country, city, state, zipcode } = req.body;

  try {
    const order = await Order.findById(orderId);

    order.item.shipsFrom.address = address;
    order.item.shipsFrom.country = country;
    order.item.shipsFrom.state = state;
    order.item.shipsFrom.city = city;
    order.item.shipsFrom.zipcode = zipcode;

    const savedOrder = await order.save();

    console.log(savedOrder);

    return res.json('Address updated');
  } catch (err) {
    console.log(err);
    return res.status(500).json('Server error');
  }
};

所有订单都以order.Item作为空Obj开头。

ssm49v7z

ssm49v7z1#

  • Mongoose.findById()返回查询。 Mongoose 式的查询不是承诺。相反,您可以使用.exec()执行查询,而.exec()返回承诺。*

例如:

Order.findById(orderId,(err,data) => {
 if (!err) {
    data.save(function (err) {
      // do something
    });
  }
});

相关问题