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

Mongodb-シャーディング時に_idはグローバルに一意である必要があります

    手動で置き換える場合を除き、自動生成された_idはUUIDであり、ドキュメント 、「4バイトのタイムスタンプ(エポックからの秒数)、3バイトのマシンID、2バイトのプロセスID、および3バイトのカウンター」で構成されます。

    ご覧のとおり、一意のマシンIDはUUIDの一部です。これにより、シャード内の2台のマシンが独立して同じUUIDを作成することはありません(同じマシンIDを持っていない限り、その可能性は1:16777215であり、発生したときに簡単に検証できます)。理論的にUUIDが重複する可能性がある唯一の状況は、1つのプロセスが1秒間に2 ^ 24(1600万を超える)を超えるUUIDを作成する場合です。

    tl; dr: 重複するUUIDについて心配する必要はありません。ドキュメントに記載されているように、「割り当てられたときに一意になる可能性がかなり高くなるように設計されています」。




    1. redis、express、socket.ioを使用してセッションを機能させるにはどうすればよいですか?

    2. カスタム時間でMongoObjectId(_id)を生成しますか?

    3. フォーム送信後、NodeJSから同じhtmlページにデータを送り返します

    4. Mongodbの埋め込み構造の更新と検索?