Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

376
Vistas
Beginner in Mongoose: Cómo encontrar si una matriz contiene un valor si ya tengo el documento

Estoy tratando de desarrollar un sitio web bancario donde los usuarios puedan solicitar un préstamo. Un solo usuario puede solicitar múltiples tipos de préstamos. Antes de que un usuario solicite un préstamo con éxito, verifico si el usuario existe o no, luego verifico todos los préstamos que el usuario ha solicitado. Si el usuario ya ha solicitado el mismo tipo de préstamo, no podrá volver a solicitarlo.

Por ejemplo, si un usuario ya ha solicitado un préstamo hipotecario, no podrá volver a solicitar un préstamo hipotecario.

Aquí está mi esquema de usuario:

 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ email:{ type:String, required:true, unique:true }, password:{ type:String, required:true, }, isAdmin:{ type:Boolean, required:true }, account:{ type:mongoose.Schema.Types.ObjectId, ref:'Account', required:false }, transactions:{ type:mongoose.Schema.Types.ObjectId, ref:'Transaction' }, loans:[ { type:mongoose.Schema.Types.ObjectId, ref:'Loan' } ] },{ timestamps:true }); const User = mongoose.model('User',userSchema); module.exports = User;

Aquí está el esquema de préstamo

 const mongoose = require('mongoose'); const loanSchema = new mongoose.Schema({ user:{ type:mongoose.Schema.Types.ObjectId, ref:'User', required:true }, amount:{ type:Number, required:true, }, account:{ type:mongoose.Schema.Types.ObjectId, ref:'Account', required:true }, loantype:{ type:String, required:true } },{ timestamps:true }); const Loan = mongoose.model('Loan',loanSchema); module.exports = Loan;

Esto es lo que he intentado hacer:

 module.exports.apply = async function(req,res){ try{ let user = await User.findById(req.body.user) .populate('account') .populate({ path:'loans', populate:{ path:'loantype' } }); let loan = await user.loans.find({loantype:req.body.loantype}); if(loan){ req.flash('error','Not Allowed'); return res.redirect('back'); } req.flash('success','Applied Successfully'); return res.redirect('back'); }catch(err){ console.log('Error',err); return res.redirect('back'); } }

Pero esto no está funcionando. Cualquier ayuda será muy apreciada. Gracias !

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda