Overview
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.
Especificar una fábrica de claves principales
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", ... });
Información Adicional
Para obtener más información sobre los tipos, las interfaces y las clases discutidos en esta sección, consulta los siguientes recursos: