Muitas vezes precisamos trabalhar com session
para garantir que todas as operações no banco só sejam concluidas se realmente todas as operações tiverem sucesso.
Uma forma de configurar no mongoose fica da seguinte forma:
const mongoose = require('mongoose');
try{
const session = await mongoose.startSession();
session.startTransaction();
//Toda operação que tiver nesse escorpo elas vão está dentro de uma session assim
//garantindo a integridade de todas as operações.
await session.commitTransaction();
} catch (error) {
await session.abortTransaction();
throw error;
}