节点:无法通过mongodb id相等性检查



我知道这听起来很愚蠢,但我真的想知道我在这里缺少了什么?

错误:它没有成功检查Mongodb的id相等性,而是抛出NotAuthorizedError。

代码:

router.post('/:id', currentUser, authenticate, async (
req: Request, res: Response
) => {
const id = req.params.id
const project = await Project.findById(id)
if (!project) throw new NotFoundError()
console.log(`CURRENT USER "${req.currentUser!.id}" AND PROJECT OWNER "${project.user}"`)
// OUTPUT : 
//CURRENT USER "5f499321ecae75127075ebae" AND PROJECT OWNER "5f499321ecae75127075ebae"
if (project.user !== req.currentUser!.id) throw new NotAuthorizedError()
await project.remove()
res.status(201).send({})
})

它应该与控制台中清楚记录的内容相同

我的猜测是,您正在将字符串与实现自定义toString的包装器进行比较,从而根据引用测试字符串。你试过与project.user.toString()进行比较吗?

最新更新