Estoy haciendo un sistema de inicio de sesión. Estoy tratando de hacer que el usuario espere 5 minutos cuando los intentos de inicio de sesión superan las 3 veces, aquí está el User Model :
const mongoose = require("mongoose"); const validator = require("validator"); const bcrypt = require("bcryptjs"); const jwt = require("jsonwebtoken"); const crypto = require("crypto"); const UserSchema = new mongoose.Schema({ // Other Model Schemas loginAttempts: { type: Number, default: 0 }, }); //Functions - Other functions above // I am trying to make user wait for 5 minutes when login attempts exceed 3. // But this is not working. if (this.loginAttempts > 3) { setTimeout(() => { this.loginAttempts = 0; this.save(); }, 1000 * 60 * 5); } if (this.loginAttempts >= 1) { setTimeout(() => { this.loginAttempts = 0; this.save(); }, 1000 * 60 * 60 * 60 * 1); } const User = mongoose.model("User", UserSchema); module.exports = User; Estaba buscando UserSchema.<parameter> , estaba buscando parámetros o funciones (lo siento, no sé el término exacto) que funciona como setTimeout() o setInterval() que verifica el modelo y actualiza los datos como lo intenté anteriormente if(){} instrucción.
¿Alguien puede sugerirme una función en Schema que verifique los intervalos y actualice los datos a medida que se agota el tiempo, como la función setTimeout y la función setInterval