sql >> データベース >  >> NoSQL >> MongoDB

パス_idの値XXXのマングースエラーCasttoObjectIdが失敗したのは何ですか?

    マングースのfindById メソッドはidをキャストします モデルの_idのタイプへのパラメーター 一致するドキュメントを適切にクエリできるように、フィールド。これはObjectIdですが、"foo" は有効なObjectIdではないため、キャストは失敗します。

    これは41224d776a326fb40f000001では発生しません その文字列は有効なObjectIdであるためです。

    これを解決する1つの方法は、findByIdの前にチェックを追加することです。 idかどうかを確認するために呼び出します 有効なObjectIdであるか、そうでないか:

    if (id.match(/^[0-9a-fA-F]{24}$/)) {
      // Yes, it's a valid ObjectId, proceed with `findById` call.
    }
    


    1. 複数の言語を使用したmongodbテキスト検索

    2. MongoDBサンプルオペレーター

    3. MongoDB$dateFromStringフォーマット指定子

    4. MongoDBAggregationFramework-動的フィールド名の変更