javascript - Mongoose POST 请求不会执行

标签 javascript node.js mongodb mongoose

我在向 MongoDB 发出发布请求时遇到问题。以下请求:

router.post("/updateReply/:id", (req, res) => {

    let id = req.params.id;

    CommentReply.findById({id}).then(comment => {
            comment.description = req.body.description;
            comment.save().then(reply => {
                res.json(reply);
            })
            .catch(err => {
                res.status(400).send(err);
            });
        })
        .catch(err => {
            res.status(200).send(err);
        })
}); 

一直失败并出现以下错误:

{
    "message": "Cast to ObjectId failed for value \"{ id: '5e137efeb2be3d4408ce374b' }\" at path \"_id\" for model \"commentReplies\"",
    "name": "CastError",
    "stringValue": "\"{ id: '5e137efeb2be3d4408ce374b' }\"",
    "kind": "ObjectId",
    "value": {
        "id": "5e137efeb2be3d4408ce374b"
    },
    "path": "_id"
}

我不知道如何解决这个问题,尤其是因为我的 get 请求每次都成功运行:

router.get("/getReply/:id", (req, res) => {
    let id = req.params.id;

    CommentReply.findById(id).then(comment => {
        res.json(comment);
    });       
});

最佳答案

不要向findById发送一个对象,发送一个字符串...

// not ({id})
CommentReply.findById(id)....

关于javascript - Mongoose POST 请求不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59617577/

相关文章:

php - 如何在 mongodb 中提取对象 ID 并对其进行搜索?

javascript - jQuery:无限循环在 2 个 img src 之间交替

javascript - 哪种 JavaScript MVC/MVVM 对 SEO 友好?

javascript - 使用迭代器 JavaScript 提取整个数组值(数组的克隆副本)

MongoDB:将文件保存在内存而不是磁盘上

node.js - 加载时将 mongo 存储的日期转换回自 Unix 纪元以来的毫秒数?

javascript - 如何在原型(prototype)上创建过滤器?

javascript - 在操作时以 HTML 形式调用 php 但不重定向

javascript - 将 CSS 样式应用于动态创建的 DIV

javascript - 无法使用 Electron 和 Socket io 关闭窗口