http://www.mongodb.org / display / DOCS / How + to + Make + an + Auto + Incrementing + Field
最初のアプローチは、サイドドキュメントにカウンターを保持することです:
もう1つのアプローチは、楽観的にループし、衝突のエッジケースのIDを継続してインクリメントすることにより、11000の重複キーエラーコードを処理することです。特定のコレクションへの書き込みの同時実行性が高い場合を除いて、これはうまく機能します。
ただし、そのページの警告に注意してください:
その他の考慮事項:
- タイムスタンプ -一意の長いが増分ではない(エポックに基づく)
- ハイブリッドアプローチ-アプリは必ずしも1つのストレージオプションを選択する必要はありません。
- 衝突を生成して処理する顧客、日付/時刻のパーツなどに基づいてIDメカニズムを考え出します。スキームによっては、衝突の可能性がはるかに低くなる可能性があります。必ずしも増分する必要はありませんが、一意であり、明確に定義された読み取り可能なパターンがあります。