首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CastError:在findOne和其他环境中,模型"Users“的路径"_id”处的值"0“(类型字符串)强制转换为ObjectId失败

CastError:在findOne和其他环境中,模型"Users“的路径"_id”处的值"0“(类型字符串)强制转换为ObjectId失败
EN

Stack Overflow用户
提问于 2021-11-13 17:46:42
回答 1查看 37关注 0票数 0

我是mongodb和nodejs的新手。当我尝试从数据库中通过req.params.id获取特定用户时,我得到了一个错误。

代码语言:javascript
运行
复制
app.get('/user/:id', (req,res) => {
    console.log(req.params.id)
    Users.findOne({_id: req.params.id}, (err,user) => { 
        if(!err) {                                      
            res.send(user)                           
            console.log(user);
        } else {
            console.log(err);
            res.status(500).send('Error Happened')
        }
    })
})

在mongodb地图集中,我收到了{ _id:(十六进制字符串)名称:电子邮件:

地址:__v:}

。包含req.params.id的每一行或每一块代码都给出错误,而Users.save()工作正常,.remove()也工作得很好,我认为.find()也工作得很好

EN

回答 1

Stack Overflow用户

发布于 2021-11-13 17:48:39

在MongoDB中,ObjectIdstrict requirement是一个12字节的字符串。

"1"不是有效的ObjectId。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69956780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档