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

176
Vistas
Cómo usar un modelo en otro modelo

Tengo dos modelos separados, nombre de empleado y usuario con algunos datos comunes y un ID de cuenta para vincularse entre sí. Un registro para cada modelo es el siguiente:

 Employee _id:1639137618164 name:"*****" sites:Array company:”Software” jobTitle: “Associate Software Engineer” email:"*****" phonesms:"1" phonevoice:"1" licenseNumber:"" avatarStamp:0 pined:false accountId: 1639129314021 //link attribute countryCodeSms:"US" countryCodeVoice:"US" inviteCode:"09611" emergencyRoles: Object invite: "booksRbUoSM"

y para el usuario es

 _id:1639129314021 firstName:"*** ***" lastName:"****" companyName:"SITS" passwordReset:"" activated:true accountId:1639129314021 // link attribute siteId:-1 role:0 last:1639137913873 blocked:false blockedtext:"" trialend:1640338913781 paytype:1 hashAccess:Array emergencyEnabled:false visitorTypes:Array sitesLimit:2 manualCreation:false username:"*************" password:"**********************************" email:"*********************" passwordNotification:true passwordLifecycle:1646906375986 isNewUser:true listFeature:Object

Quiero buscar desde el modelo de usuario si existe algún empleado con ese identificador de cuenta o no, si hay un empleado asociado con el identificador de cuenta, luego agregar un nuevo empleado con los datos comunes disponibles. de otra forma no. ¿Cómo puedo hacer esto en bucle invertido? ¡Estoy atrapado aquí!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Estoy usando loopback versión 2.xx Resulta ser muy simple

 currentModel.app.models.modelYouWantToAccess
over 4 years ago · Santiago Trujillo Denunciar

0

Prueba con abajo

 var employee_data = Employee .filter(x => User.map(y => y.accountId).includes(x.accountId));
over 4 years ago · Santiago Trujillo Denunciar

0

Supongo que está usando mangosta y tiene esta parte en su modelo de User :

 accountId: { type: mongoose.Schema.ObjectId, ref: 'Employee', required: [true, 'this field must be provided'] },

Puede agregar un método de llenado a su esquema para que los datos del modelo relacionado se agreguen cada vez que solicite datos con populate User.find(), findOne, y todos los demás métodos que comienzan con 'buscar'

 userSchema.pre(/^find/, function(next) { this.populate({ path: 'accountId', options: { // you can populate only some fields if you want select: 'name company jobTitle' } }) next() })

Luego, puede usar su modelo de User como siempre, pero ahora se agregan los datos de Employee relacionados:

 const given_id = "65465458qw7d7q1q7w1x" const user = await User.findOne({accountId: given_id}) // Note: you can use User.find if there can be // more than one user with that accountId.
over 4 years ago · Santiago Trujillo Denunciar
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