2017-01-04 8 views
1

上で実行されている:マングースCastError基本的に、私はこのような私のノードサーバ上のいくつかのコードを持っているAWS

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

私はこのエラーを取得する: {"message":"Cast to ObjectId failed for value \"5767399a90bf3cc2828d2cd6\" at path \"_id\" for model \"Blog\"","name":"CastError","stringValue":"\"5767399a90bf3cc2828d2cd6\"","kind":"ObjectId","value":"5767399a90bf3cc2828d2cd6","path":"_id"}

私は私のEC2上で、このエラーを取得します私はそれを自分のコンピュータ上でローカルに実行していません。ご覧のとおり、これは正しく形成されたObjectId文字列であり、MongoDBに存在することを確認しました。

これは数日前に正常に機能しました。それは突然そのエラーを与え始め、私はコードを変更していません。

アイデア?

答えて

0

あなたはそれを試して、確かにObjectIdに変換することができます。うまくいけば、あなたの問題も解決します。

これを試してみてください:

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

私は推測、mongooseは、すでにあなたのコードで定義されています。

0

EC2インスタンスにはどのノードのバージョンがありますか?

var blogId = req.params.blogId; 
Blog.findById(blogId).exec(...) 
: 最近、私は、このコードはokです、このようなバグをキャッチし、あなたがのObjectId型に変数のblogidを変換する必要はありませんバージョン6

にノードを更新することにより、それを固定し、

関連する問題