我的应用程序可以在本地工作,但在生产中,我似乎无法使用猫鼬从mongo获取特定的东西。我尝试过:
var Coach=mongoose。模型(“Coach”,CoachSchema)
Coach.findOne({_id:req.session.userId},函数(err,教练) {})
Coach.find({_id:req.session.userId},函数(err,教练) {})
Coach.findById(req.session.userId). exec(函数(err,教练)){})
我收到了同样的错误:
Cast to ObjectId在模型“蔻驰”的路径“_id”的值“586bc06bd09d870012baa5b8”失败
正如我所说,它在本地与
nodemon
和heroku local
一起工作,但在我的heroku生产服务器上它不工作。
我在这里读到了一些关于这种类型的强制转换错误的信息:
对于路径“\u id”处的值XXX,将Mongoose错误转换为ObjectId失败是什么
Mongoose拒绝将有效字符串强制转换为ObjectId
- 模型“用户”的路径“_id”处的值“586cc8b3ea780c071bbe2469”转换为ObjectId失败
但是还没有运气。任何帮助都会很好。先谢谢你。
我有时也会遇到同样的问题,因为mongoose
version
我通过安装mongoose
版本4.7.2解决了这个问题
npm install mongoose@4.7.2
此外,您还可以更改包。json
,因此它使用的正是mongoose的这个版本。
"mongoose" : "4.7.2"
此错误是由bson
软件包引起的。这就产生了错误
Hex不是创建ObjectId时的函数
阅读更多关于它在这个链接。
当从版本4.7更新
至mongoose
时,此错误开始出现。24.7。3
。解决此错误后,您可以更新到更新版本的mongoose
。你可以在这里和这里追踪这个bug。
因此,最后您可以通过安装MongooseVersion4.7来解决此错误。2.
我的控制器obter_todos_precos只是一个console.log,没有使用任何模型,但我得到以下错误: 为什么我会有这种行为?
嘿,伙计们真的需要一些关于删除路由的帮助。我正在使用RESTful路由,尝试遵循约定,添加删除路由时,我得到错误: CastError:模型"Blog"的路径"_id"处的值"X"转换为ObjectId失败 我已经在stackoverflow上搜索了这个问题,我能想到的最好的版本是猫鼬有一个错误。我把它回滚到V4.10.0,仍然在处理这个问题。我的代码如下:
我看到了几个帖子与类似的我但我仍然得到同样的错误 这是我的用户模式 我的路线 我的应用程序。js 这是我的护照。我正在使用本地护照 passport可以将用户保存到数据库中 模型“用户”的路径“_id”处的值“586cc8b3ea780c071bbe2469”转换为ObjectId失败 我已经构建了两个应用程序,它们使用passport oauth,与上面显示的方式完全相同。所以我不知道为什么我会
Comments是嵌套在Post架构中的数组。我想通过推送一个新的评论到评论数组更新相应的帖子。但是得到了错误:CastError:对于模型“post”的路径“_id”处的值“comments”,向ObjectId的强制转换失败 阅读相关帖子 尝试使用“mongoose.types.objectid”,但不起作用 猫鼬版^5.5.4 我在这里使用的所有ID都是有效的 我认为问题出在“comment
我得到下面的错误 CastError: Cast to ObjectId在ObjectId.cast(/用户/我/项目/nodejs/node_modules/猫鼬/lib/错误/cast.js:29: 11)的新CastError(/用户/我/项目/nodejs/node_modules/猫鼬/lib)的模型产品路径_id的值findByName失败/schema/objectid.js:156
我正在尝试用mongodb和nodejs制作一个应用程序。我做了一个特殊的路由,它有参数,并且运行良好。 我还做了另一个get路线,它有。每次我收到该错误时向该路由发送请求时: 我的路线是: 当我向上面的路由发出get请求时,我得到了该错误: 我的产品模型是: 我怎样才能解决这个问题?