Mongodb 主キー: ObjectId() を使用して _id フィールドを設定する例
主キーとは何ですか MongoDB?
In MongoDB, _id フィールドをコレクションの主キーとして使用し、コレクション内で各ドキュメントを一意に識別できるようにします。 _id フィールドには、一意の ObjectID 値が含まれます。
デフォルトでは、コレクションにドキュメントを挿入するときに、フィールド名に _id を含むフィールド名を追加しないと、 MongoDB 以下に示すように、オブジェクト ID フィールドが自動的に追加されます。
コレクション内のドキュメントをクエリすると、コレクション内の各ドキュメントの ObjectId を確認できます。
それを確実にしたい場合は、 MongoDB は、コレクションの作成時に _id フィールドを作成しません。コレクションの _id として独自の ID を指定する場合は、コレクションの作成時にこれを明示的に定義する必要があります。
id フィールドを明示的に作成する場合は、名前に _id を付けて作成する必要があります。
これを実現する方法の例を見てみましょう。
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
コードの説明:
- コレクション内の最初のドキュメントを作成していると想定しているため、コレクションの作成中に上記のステートメントでフィールド _id を明示的に定義し、その値を定義します。
コマンドが正常に実行され、findコマンドを使用してコレクション内のドキュメントを表示すると、次の出力が表示されます。
出力:
出力は、コレクションの作成時に定義した _id フィールドがコレクションの主キーとして使用されていることを明確に示しています。