Estoy tratando de hacer una colección de contadores. Hasta ahora he logrado hacer la parte de incremento con un disparador (en Mongo Atlas) y usar ese número para configurar un campo de aumento automático, pero lo que estoy tratando de hacer es disminuir el contador cuando elimino un documento (en este caso, una categoría) . Mi disparador para agregar 1 funciona bien así:
const countercollection = context.services.get("Cluster0").db(changeEvent.ns.db).collection("counters"); const categoriescollection = context.services.get("Cluster0").db(changeEvent.ns.db).collection(changeEvent.ns.coll); var counter = await countercollection.findOneAndUpdate({_id: changeEvent.ns },{ $inc: { category_counter: 1 }}, { returnNewDocument: true, upsert : true}); var updateRes = await categoriescollection.updateOne({_id : docId},{ $set : {categoryId : counter.category_counter}});Pensé que esto sería posible haciendo lo mismo que hice para agregar pero cambiando a algo como:
$inc: { item_counter: -1 }Por alguna razón, no puedo hacer que funcione con ambos disparadores habilitados. ¿Es un disparador por colección o alguna restricción como esa? ¿Debería abordarlo de manera diferente? (¿quizás con un ModelSchema.pre()?) ¡Gracias de antemano!