カスタム値の生成 _id
Overview
このガイドでは、MongoDB Node.js ドライバーを使用して、プライマリキー ファクトリを使用して独自の _id
値を生成する方法を学習します。
プライマリキー ファクトリを使用すると、 挿入操作中に_id
を指定しないことを選択した場合に、ドキュメント内に一意の識別子を作成できます。 デフォルトのプライマリキー ファクトリはObjectId
値を生成します。
プライマリキー ファクトリを指定する
プライマリキー ファクトリを指定するには、MongoClient
インスタンスに pkFactory
オプションを適用します。
次のコード スニペットは、pkFactory
オプションを適用して、uuid
型の _id
値を生成します。
const { UUID } = require('bson'); ... const client = new MongoClient(uri, { pkFactory: { createPk: () => new UUID().toBinary() } });
注意
データの整合性
プライマリキー ファクトリで指定された型とは異なる型の _id
フィールドを持つドキュメントを挿入すると、データの不整合が発生します。
たとえば、uuid
型を生成する主キー ファクトリで次の挿入操作を実行すると、_id
値には uuid
型と string
型の両方が含まれます。
myColl.insertOne({ _id: "user1388", ... });
詳細情報
このセクションで説明した型、インターフェース、クラスの詳細については、次のリソースを参照してください。