2

BigInteger ID を持つ MongoDB を使用する Spring Data は、引き続き英数字の ObjectId を生成しています。IDとして数列を持ちたいです。この動作を構成するにはどうすればよいですか?

4

2 に答える 2

1

ObjectIdSpring Data MongoDB は、推奨されているように、たまたま sを構成できるすべての型を変換しようとします。MongoDB のリファレンス ドキュメントで説明されているように、これはクラスター全体で着実に増加する ID を作成できるためです。線形 ID (1、2、3 など、着実に増加する ID だけでなく) が本当に必要な場合は、 のタイプを使用しLongて ID を手動で作成します。

于 2012-06-06T10:05:46.077 に答える
0

springdata doc に従って: Java クラスで BigInteger として宣言された id プロパティまたはフィールドは、Spring コンバーターを使用して ObjectId に変換され、格納されます。

_id に対して正確に何を表現しようとしていますか? ただ大きな数値であれば、long 値を使うと 64bit の数値を表現できるようになります。64 ビットより大きい値を表す必要がある場合は、Mongo で文字列または BinData として表す必要がありますが、固定の 12 バイトであるため、ObjectId として表す必要はありません。

于 2012-04-11T07:50:20.873 に答える