usage objectid mongodb with examples
MongoDBでのオブジェクトID()とそのメソッドの役割:
これで 詳細 MongoDBトレーニングシリーズ 、以前のチュートリアルでは、の使用法についてすべて説明しました MongoDBのUpdate()およびDelete()ドキュメント 。
このチュートリアルでは、MongoDB内のObjectIdとそのメソッドについて学習します。
基本的に、ObjectIdは任意の内の主キーとして扱われます MongoDBコレクション 。
新しいコレクション内に新しいドキュメントを作成するたびに、自動的に生成されます。次の構文で確認できるように、12バイトの16進値に基づいています。
構文:
ObjectId ()
この16進値は、次の3つのセグメントに分けられます。
- 4バイト値の最初のセグメントは、UNIXエポックからの秒数を表します。
- 5バイトのランダム値の2番目のセグメント。
- 3バイトカウンタの3番目のセグメントは、ランダムな値で始まります。
MongoDBは、以下に示すようにObjectIdの3つのメソッドを提供します。
jsonファイル拡張子を開く方法
- ObjectId.getTimestamp()
- ObjectId.toString()
- ObjectId.valueOf()
学習内容:
ObjectIdを作成します
MongoDB内で新しいobjectIDを手動で作成するには、objectIdをメソッドとして宣言できます。簡単に言うと、オブジェクトIDは各レコードの一意の識別子であると言えます。次の画像では、オブジェクトIDメソッドを持つ変数を値として宣言しており、一意の16進数が返されることがわかります。
コード
X = ObjectId()
図1:Mongoシェル内
図2:Robo3Tの場合
Windowsでトレントファイルを開く方法
上の画像では、objectIDメソッドを「x」変数の値として複数回宣言していることがわかります。一意の16進値を返すたびに、「x」のみを呼び出すと、最後に格納された16進値が返されます。
この実験から、ObjectIDを呼び出すたびに、仮想メモリ内の特定の場所がレコード用に予約されることがわかります。
特定のObjectId16進数を定義する
独自の16進値を定義する場合は、MongoDBを使用してこのアクションを実行できます。上記の例では、メソッドとしてパラメータなしでオブジェクトIDを宣言しているだけです。
このシナリオでは、メソッドのパラメーターとして16進値を使用してオブジェクトIDを定義します。
ご覧のとおり、次の画像では、「y」変数の値を事前定義されたオブジェクトIDとして定義しています。したがって、個々のオブジェクトIDに特定の16進値を指定できることがわかるのと同じオブジェクトIDが返されます。
コード
y = ObjectId(“5bf142459b72e12b2b1b2cd”)
図3:Mongoシェル内
図4:Robo3Tの場合
ObjectId16進文字列を取得します
オブジェクトIDを呼び出すと、文字列は返されませんが、一意の16進値を持つメソッド全体が返されます。
一意の16進数をobjectIDから文字列として抽出するには、後置として「.str」を使用する必要があります。次の画像では、それがどのように機能するかを観察できます。
コード
2つのホスト間のネットワークに適切なサブネットマスクは何ですか
y = ObjectId( '5bf142459b72e12b2b1b2cd')。str
図5:Mongoシェル内
図6:Robo3Tの場合
結論
オブジェクトIDは、MongoDBコレクション内の主キーとして扱われ、自動的に生成されます。オブジェクトIDを手動で生成でき、要件に応じて16進値を定義することもできます。
オブジェクトIDから16進値を文字列として抽出することもできます。オブジェクトIDは、時間、ランダム値、およびカウンター値の組み合わせです。オブジェクトIDを呼び出すたびに、一意の16進値が作成されます。
次のチュートリアルで、MongoDBクエリドキュメントのfind()の使用法を調べる準備をしてください。