javascript - 对于模型的路径 ""处的值 "_id"转换为 ObjectId 失败

标签 javascript node.js

我遇到一个错误,我不明白它是如何发生的。如果我的路线按以下顺序排列: enter image description here

我的 Controller obter_todos_precos只是一个console.log并且没有使用任何模型,但我收到以下错误:

"message": "Cast to ObjectId failed for value \"preco\" at path \"_id\" for 
model \"ZonaModel\""

我通过以下方式改变路线的顺序找到了解决方案: enter image description here

为什么我会有这种行为?

最佳答案

路由器匹配它匹配的第一条路由 /:id_zona 和/preco 路由到与 preco 相同的路径也可以是 id_zona

的值

所以当/preco 高于它时它就可以工作, 而当/:id_zona 位于上面并且您尝试使用/preco 时,路由会匹配/:id_zona 并且 id_zona 的值是 preco,在您的 Controller 中希望是 ObjectId 类型

关于javascript - 对于模型的路径 ""处的值 "_id"转换为 ObjectId 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53805141/

相关文章:

javascript - 仅删除新类

node.js - Number.isInteger 方法和 Node.js 版本

javascript - 数据表 : Column appears in "show/hide columns" list even if it has "display:none" style

javascript - 如何在回调中调用对象的键?

javascript - 使用 For 循环设置变量 (Javascript)

javascript - Electron :复选框未更改值?

javascript - 是否可以在 Kue Node.js 中更新已创建的作业?

javascript - 向 MongoDB 插入数据并上传图片问题 enctype ="multipart/form-data"

javascript - 如何使用来自express的外部javascript文件中的数据

javascript - 渲染基本的 HTML View ?