64ビットのunsignedintである値があり、それらをunsignedint型を持たないmongodbに格納する必要があります。それらを他のフィールドタイプに保存し、出入りを変換するための3つの主な可能性があります。
署名されたintを使用するのがおそらく最も簡単で、スペース効率が最も高いですが、人間が読めないという欠点があり、誰かが変換を忘れると、一部が機能し、エラーがわかりにくくなる可能性があります。
生のバイナリは、経験の浅いプログラマーにとっておそらく最も扱いにくく、人間が読めないという問題もあります。
文字列表現はスペース効率が最も低くなります(ユニコードで最大40バイト、フィールドあたり8バイト)が、少なくともすべての可能な値が適切にマップされ、クエリでは、より複雑な変換ではなく、文字列への変換のみが必要になります。
これらの値をさまざまなプラットフォームから利用できるようにする必要があるため、単一のドライバー固有のソリューションを選択することはできません。
私が見逃した主な長所と短所はありますか?どちらを使いますか?