Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AWS上运行的NodeJS应用程序的Mongoose CastError_Node.js_Mongodb_Amazon Ec2_Mongoose - Fatal编程技术网

Node.js AWS上运行的NodeJS应用程序的Mongoose CastError

Node.js AWS上运行的NodeJS应用程序的Mongoose CastError,node.js,mongodb,amazon-ec2,mongoose,Node.js,Mongodb,Amazon Ec2,Mongoose,基本上,我的节点服务器上有如下代码: var blogId = req.params.blogId; Blog.findById(blogId).exec(...) var blogId = req.params.blogId; Blog.findById(blogId).exec(...) 我得到这个错误: {“消息”:“路径\”处的值\“5767399a90bf3cc2828d2cd6\”转换为ObjectId失败;模型\“Blog\”,“name:“CastError

基本上,我的节点服务器上有如下代码:

var blogId =  req.params.blogId;   
Blog.findById(blogId).exec(...)
var blogId =  req.params.blogId;   
Blog.findById(blogId).exec(...)
我得到这个错误:

{“消息”:“路径\”处的值\“5767399a90bf3cc2828d2cd6\”转换为ObjectId失败;模型\“Blog\”,“name:“CastError”,“stringValue:”,“kind:“ObjectId”,“value:“5767399a90bf3cc2828d2cd6”,“path:“U id”}

我只在我的EC2实例上得到这个错误,而不是在我的计算机上本地运行它。如您所见,这是一个格式正确的ObjectId字符串,我已经验证它存在于我的MongoDB中

就在几天前,这种方法还可以正常工作。它突然出现了这个错误,我还没有修改代码


有什么想法吗?

您可以尝试将其转换为
对象ID
,只是为了确定。希望它也能解决你的问题

试试这个:

var blogId = mongoose.Types.ObjectId(req.params.blogId);
Blog.findById(blogId).exec(...)

我想,
mongoose
已经在您的代码中定义了。

您可以尝试将其转换为
ObjectId
。希望它也能解决你的问题

试试这个:

var blogId = mongoose.Types.ObjectId(req.params.blogId);
Blog.findById(blogId).exec(...)

我猜,
mongoose
已经在您的代码中定义了。

您的EC2实例上有哪个版本的节点? 最近我发现了这样一个bug,并通过将节点更新到版本6来修复它

您不必将变量blogId转换为ObjectId类型, 此代码正常:


EC2实例上有哪个版本的节点? 最近我发现了这样一个bug,并通过将节点更新到版本6来修复它

您不必将变量blogId转换为ObjectId类型, 此代码正常: