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

189
Vistas
¿Cómo hacer referencia mejor a otro esquema en una propiedad de esquema Mongoose?

Estoy definiendo un esquema de usuario mangosta.
Contendrá una referencia a un esquema de dirección:

 const AddressSchema = mongoose.Schema({ street: String, city: String, zip: String, }); const UserSchema = mongoose.Schema({ ... });

Veo en los documentos que puedo hacer ambas cosas:

 const UserSchema = mongoose.Schema({ name: String, address: { type: AddressSchema, }, ... });

o

 const Address = mongoose.model("Address", AddressSchema); const UserSchema = mongoose.Schema({ name: String, address: { { type: mongoose.Schema.Types.ObjectId, ref: "Address" } }, ... });

Supongo que la única diferencia es que cuando consulto un documento de usuario en el primer caso, siempre obtengo la dirección completa, mientras que en el segundo tendré que populate() ...

Solo pregunto para estar seguro de que esta es la diferencia, y si hay otras más sutiles de las que debería encargarme... De los documentos que no podría decir...

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Realmente depende del tipo de consultas que necesite.

Si solo necesita los internos en conexión con los externos, como las acciones de la cuenta privada del usuario que se supone que solo se le muestran a él, el subdocumento wat es una mejor manera, ya que no necesita completarse.

Si necesita mostrar una lista de todas las acciones juntas, será una molestia recorrer cada usuario para obtener sus acciones, luego resúmalas y luego tendrás esa matriz, por lo que la mejor manera aquí es lo que en SQL llamado "normalización", terminará con una colección de todos los usuarios para que pueda mostrarla, pero cada acción tendrá una referencia al usuario para que pueda filtrarla por el usuario específico

about 4 years ago · Santiago Gelvez 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