Genera ObjectIDs de MongoDB vàlids per a proves, desenvolupament o fins educatius. Aquesta eina crea identificadors únics de 12 bytes utilitzats en bases de dades de MongoDB, compostos per un segell temporal, un valor aleatori i un contador incrementant.
L'ObjectID de MongoDB és un identificador únic utilitzat en bases de dades MongoDB. Aquesta eina et permet generar ObjectIDs de MongoDB vàlids per a proves, desenvolupament o finalitats educatives. Els ObjectIDs són tipus BSON de 12 bytes, compostos per un timestamp de 4 bytes, un valor aleatori de 5 bytes i un comptador incrementant de 3 bytes.
Un ObjectID de MongoDB consisteix en:
L'estructura es pot visualitzar com segueix:
1|---- Timestamp -----|-- Random --|-- Counter -|
2 4 bytes 5 bytes 3 bytes
3
Encara que no hi ha una fórmula matemàtica per generar ObjectIDs, el procés es pot descriure algorítmicament:
El generador d'ObjectID segueix aquests passos:
Els ObjectIDs de MongoDB tenen diversos casos d'ús importants:
Identificadors únics de documents: Els ObjectIDs serveixen com el camp _id
per defecte en documents de MongoDB, assegurant que cada document tingui un identificador únic.
Informació de timestamp: Els primers 4 bytes d'un ObjectID contenen un timestamp, permetent l'extracció fàcil del temps de creació sense necessitat d'un camp separat.
Ordenació: Els ObjectIDs es poden ordenar cronològicament, cosa que és útil per recuperar documents en l'ordre d'inserció.
Shard: En un clúster de MongoDB fragmentat, els ObjectIDs es poden utilitzar com a claus de shard, encara que això no sempre és la millor opció per a cada cas d'ús.
Depuració i registre: El component de timestamp dels ObjectIDs pot ser útil en la depuració i l'anàlisi de registres.
Encara que els ObjectIDs són l'identificador per defecte a MongoDB, hi ha alternatives:
Els ObjectIDs es van introduir amb el llançament inicial de MongoDB el 2009. Van ser dissenyats per proporcionar un identificador únic que es pogués generar ràpidament i de manera independent per diferents servidors, cosa que els fa ideals per a sistemes distribuïts.
L'estructura dels ObjectIDs ha roman constant al llarg de la història de MongoDB, encara que la implementació específica de com es generen s'ha optimitzat al llarg del temps.
Aquí hi ha fragments de codi que demostren com generar ObjectIDs de MongoDB en diversos llenguatges de programació:
1import bson
2
3## Generar un únic ObjectID
4object_id = bson.ObjectId()
5print(object_id)
6
7## Generar múltiples ObjectIDs
8object_ids = [bson.ObjectId() for _ in range(5)]
9print(object_ids)
10
1const { ObjectId } = require('mongodb');
2
3// Generar un únic ObjectID
4const objectId = new ObjectId();
5console.log(objectId.toString());
6
7// Generar múltiples ObjectIDs
8const objectIds = Array.from({ length: 5 }, () => new ObjectId().toString());
9console.log(objectIds);
10
1import org.bson.types.ObjectId;
2
3public class ObjectIdExample {
4 public static void main(String[] args) {
5 // Generar un únic ObjectID
6 ObjectId objectId = new ObjectId();
7 System.out.println(objectId.toString());
8
9 // Generar múltiples ObjectIDs
10 for (int i = 0; i < 5; i++) {
11 System.out.println(new ObjectId().toString());
12 }
13 }
14}
15
1require 'bson'
2
3## Generar un únic ObjectID
4object_id = BSON::ObjectId.new
5puts object_id.to_s
6
7## Generar múltiples ObjectIDs
8object_ids = 5.times.map { BSON::ObjectId.new.to_s }
9puts object_ids
10
Aquests exemples demostren com generar ObjectIDs utilitzant controladors oficials de MongoDB o biblioteques BSON en diferents llenguatges de programació. Els ObjectIDs generats seran únics i seguiran l'estructura descrita anteriorment.
Descobreix més eines que podrien ser útils per al teu flux de treball