为此对象生成自定义值 _id
Overview
在本指南中,您可以了解如何使用 MongoDB Node.js 驱动程序通过主键工厂生成您自己的 _id
值。
当您选择在插入操作期间不指定_id
时,主键工厂允许您在文档中创建唯一标识符。 默认主键工厂生成ObjectId
值。
指定主键工厂
要指定主键工厂,请将 pkFactory
选项应用于您的 MongoClient
实例。
以下代码片段应用 pkFactory
选项生成 _id
类型为 uuid
的值:
const { UUID } = require('bson'); ... const client = new MongoClient(uri, { pkFactory: { createPk: () => new UUID().toBinary() } });
注意
数据一致性
如果插入的文档中的 _id
字段的类型与主键工厂指定的类型不同,则数据会不一致。
例如,如果您对生成 uuid
类型的主键工厂运行以下插入操作,则您的 _id
值将包含 uuid
和 string
类型:
myColl.insertOne({ _id: "user1388", ... });
更多信息
要了解有关本节中讨论的类型、接口和类的更多信息,请参阅以下资源: