bson | objectId functions
En esta sección se describen las funciones para trabajar con valores objectId BSON.
BSON (Binary JSON) es una representación binaria de documentos similares a JSON que utiliza principalmente MongoDB. Algunos sistemas que implementan API compatibles con MongoDB, como Azure Cosmos DB, también admiten documentos BSON.
Un objectId de BSON es un identificador de 12 bytes compuesto por:
•Una marca de tiempo de 4 bytes que representa el número de segundos transcurridos desde la época Unix (1970-01-01T00:00:00Z).
•Un valor aleatorio de 5 bytes que se genera una vez por cada proceso del lado del cliente.
•Un contador incremental de 3 bytes por proceso de cliente, inicializado con un valor aleatorio. Este contador se incrementa cada vez que el mismo proceso genera un nuevo ObjectId, lo que garantiza la unicidad.
MapForce admite las siguientes funciones para trabajar con ObjectIds de BSON:
•objectId-datetime: extrae la fecha y la hora de creación de un ObjectId (en UTC), a partir de la marca de tiempo almacenada.
•objectId-random: extrae el valor aleatorio de un ObjectId.
•objectId-ordinal: extrae el contador incremental (ordinal) de un ObjectId.
•to-objectId: crea un ObjectId utilizando la fecha de creación, el valor aleatorio y el contador especificados.
Cómo se gestionan los ObjectId BSON en MapForce
Los ObjectId BSON se convierten automáticamente en cadenas hexadecimales y viceversa. Para más detalles, consulte la tabla más abajo. Para ver un ejemplo, consulte la descripción de la función to-objectId.
Conversión | Qué ocurre |
|---|---|
bson.objectId > string | Genera una cadena hexadecimal de 24 caracteres que representa el ObjectId de 12 bytes. |
string > bson.objectId | Analiza una cadena hexadecimal de 24 caracteres y genera un ObjectId de 12 bytes. Se produce un error si la entrada no es una cadena hexadecimal válida con la longitud correcta. |
Enlaces prácticos