私はユーザー情報を格納しているデータベースを作成していました。以前は、システムはうまくいきました。マングースのnpmアップデートを実行した後、システムは失敗しましたが、なぜその理由はわかりません。次のエラーメッセージが表示されます。mongoose findByIdが正しいIDで動作しない
CastError: Cast to ObjectId failed for value "xxxxxxxxxxxxxxx" at path "_id" for model "User"
次に、データベースが正常に接続されているかどうかをテストするための簡単なテストコードを書きます。例:
User.findOne({firstName: "David"}, function(err, user){console.log(user.lastName)});
上記は完全に機能しました。
Iは、直接データベースから対応するIDを発見などの変数を作成する:
var testId = "abcde"
、次のコードを試みた:
User.findById(testId, function(err, user){console.log(user.firstName)});
そしてそれだけ出力エラーメッセージを。
mongoose.Types.ObjectId.isValid('abcde')
(abcdeは単なる例です)、trueを返しました。したがって、私は本当にそれがうまくいかなかったというアイデアはありません...それはマングースバグですか?
ご回答いただきありがとうございました。ありがとうございました!
はあなたのスキーマの詳細 –
'VARのuserSchema =新しいスキーマ({ 電子メールを表示することができます[{タイプ:Schema.Types.ObjectId 、ref: 'File'}] }); ' – matthewhang