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

MongoDBのコレクションIDの長さ

    デフォルトの_idはなぜですか 24文字の16進文字列?

    主キーとして生成されるデフォルトの一意の識別子(_id )MongoDBドキュメントの場合、ObjectId です。 。これは12バイトのバイナリ値であり、多くの場合24文字の16進文字列として表され、MongoDBでサポートされている標準のフィールドタイプの1つですBSON仕様

    ObjectIdの12バイトは、以下を使用して構築されます。

    • Unixエポックからの秒数を表す4バイトの値
    • 3バイトのマシン識別子
    • 2バイトのプロセスID
    • 3バイトのカウンター(ランダムな値で始まる)

    ObjectIdの重要性は何ですか?

    ObjectIds(またはGUID に従って生成された同様の識別子 式)分散システムで一意の識別子を個別に生成できるようにします。

    複数のアプリケーションサーバー(またはシャードクラスター )。シーケンスカウンターのような中央調整のボトルネックは必要ありません(たとえば、自動インクリメントの主キーの場合のように)。また、新しい識別子が複製。

    ObjectIdは通常、MongoDB クライアントドライバー によって生成されます。 、ただし、クライアントドライバーまたはアプリケーションコードが、または_idをまだ追加していない場合は、MongoDBサーバーで生成することもできます。 フィールド。

    デフォルトのObjectIdを使用する必要がありますか?

    いいえ。使用するのに適した一意の識別子がある場合は、いつでも_idに独自の値を指定できます。 。これは、単一の値または複数のフィールドを使用する複合値のいずれかです。

    _idの主な制約 値は、コレクションに対して一意である必要があり、_idを更新または削除できないことです。 既存のドキュメントの場合。



    1. mongodbをインポートできません

    2. mongodbの2つのフィールドの連結値に一致するレコードを選択します

    3. ループ内のMongoDBへの保存

    4. 警告:循環依存内のモジュールエクスポートの存在しないプロパティ「MongoError」にアクセスする