Docs Menu
Docs Home
/ /

Generar valores personalizados para _id

En esta guía, puede aprender a utilizar el controlador Node.js de MongoDB para generar su propio _id valores que utilizan la fábrica de claves primarias.

La fábrica de claves principal le permite crear identificadores únicos en sus documentos cuando elige no especificar un _id durante una Operación de inserción. La fábrica de claves primarias predeterminada genera ObjectId valores.

Nota

Operaciones de inserción

El controlador no utiliza la fábrica de claves principal para las operaciones de upsert porque no puede determinar si debe aplicarla. Si especificó la fábrica de claves principal en una operación de upsert y realiza una operación de inserción, el servidor genera automáticamente un ObjectId para ese documento.

Si desea utilizar la fábrica de claves principal especificada, realice una operación de búsqueda y luego una operación de actualización o inserción.

Para especificar una fábrica de clave principal, aplique la opción pkFactory a su instancia MongoClient.

El siguiente fragmento de código aplica la opción pkFactory para generar _id valores de tipo uuid:

const { UUID } = require('bson');
...
const client = new MongoClient(uri, {
pkFactory: { createPk: () => new UUID().toBinary() }
});

Nota

Coherencia de datos

Si inserta un documento con un campo _id con un tipo diferente al especificado por la fábrica de claves principal, tendrá datos inconsistentes.

Por ejemplo, si ejecuta la siguiente operación de inserción en una fábrica de clave principal que genera tipos uuid, sus valores _id contendrán los tipos uuid y string:

myColl.insertOne({ _id: "user1388", ... });

Para obtener más información sobre los tipos, las interfaces y las clases discutidos en esta sección, consulta los siguientes recursos:

  • pkFactory

  • El campo _id

  • Update Documents

  • Buscar documentos

  • Modificar documentos

  • Insertar documentos

Volver

Configurar las operaciones CRUD

En esta página