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

306
Vistas
Cómo guardar una matriz de cadenas usando el esquema de mangosta

Tengo este esquema para representar a un usuario:

 const UserSchema = mongoose.Schema({ username: { type: String, required: false }, social: [{ facebook: { type: String, required: false }, twitter: { type: String, required: false } }] });

¿Cómo puedo guardar valores usando este esquema? Lo que estoy haciendo hasta ahora:

 user.username = username; user.social['facebook'] = facebook; user.social['twitter'] = twitter; await user.save();

esto funciona para el nombre de usuario, pero social sigue siendo una matriz vacía. yo también probé

 user.social.facebook = facebook; user.social.twitter = twitter;

mismo resultado:

 "social" : [ ]
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Dado que social es una matriz de objects . ¿No deberías estar haciendo

 user.social[0].facebook = facebook; user.social[0].twitter = twitter;

En este momento, está tratando de acceder a la propiedad en el objeto, pero social es una matriz de objetos

over 4 years ago · Santiago Trujillo Denunciar

0

¿Está seguro de que realmente desea que el campo social sea una matriz? Dado que almacena cuentas de facebook y twitter , es lógico que cada usuario tenga solo una de estas cuentas. En ese caso, es mejor si define social como objeto con propiedades anidadas. Eso es más fácil de mantener y funcionará con su código.

 social: { facebook: { type: String, required: false }, twitter: { type: String, required: false } }

Si realmente necesita que el campo social sea una matriz, puede cambiar su código de esta manera:

 user.username = username; user.social[0] = { 'facebook': facebook, 'twitter': twitter, }; await user.save();
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