tengo un pequeño problema, pensé como solucionarlo pero no se si es la forma correcta.
en mi proyecto tengo varias funciones, todas las cuales deben usar una identificación única secuencial cada vez que se ejecuta una función
por ejemplo:
person 1 runs function X using id 1 person 2 runs function Y using id 2 person 3 runs function Z using id 3 person 4 runs function Y using id 4 person 1 runs function Z using id 5 ....¿como hacer eso?
Pensé en guardar esa identificación en una tabla dentro de mongoDB y cada vez que se use dentro de una función, la función la incrementará, pero no creo que sea la forma correcta, ¿verdad?
entonces, si es la forma correcta, ¿cómo coordinar el acceso a la base de datos? como si 2 personas ejecutan 2 funciones al mismo tiempo, tomarán la misma ID de DB y esto absolutamente no debe suceder , cada vez que se llama a una función, se debe usar una identificación diferente , ¿cómo puedo hacerlo?
Puedes usar findOneAndUpdate
Ejemplo:
db.collection.findOneAndUpdate( { "name" : "function_trigger_count" }, { $inc: { "count: 1 } } )FindOneAndUpdate asegura la atomicidad de la consulta
O
Si está utilizando MongoDB versión 5.x, puede usar la función Transacción para garantizar la atomicidad