一部のデータを MySQL から Mongo に移行しており、移行されたデータ オブジェクトのObjectId値のために、いくつかの DB テーブルに追加のフィールドを追加しています。
現時点では、正常に動作する varchar(24) latin1_general_ci として保存しています。
ただし、効率的なストレージ/インデックス作成のために、おそらく 12 バイトのバイナリ値に戻す必要があります。残念ながら、MySQL は 8 バイトまでのネイティブの整数しかサポートしていないようです。別のオプションはありますか - おそらくバイナリですか?
更新: MySQL から移行していますが、現時点では特定のテーブルのみです。そのため、最初に特定のテーブルの Mongo でオブジェクトの複製を作成します。次に、古い MySQL テーブル ID への外部キー参照を持つ MySQL に残っている他のテーブルに戻り、Mongo オブジェクトの ID を格納する新しい参照フィールドを追加します。次に、元の参照フィールド BIGINT を削除します。
更新 2:これを取り上げる理由は、この他のデータを移動するまでに 12 か月以上かかる可能性があるため (または移動しない可能性があるため)、それまではライブ Web アプリケーションのパフォーマンスに影響を与える可能性があるためです。