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

362
Vistas
Agregar documentos a una relación Muchos a Muchos en Mongoose (MongoDB)

Tengo una colección de usuarios y una colección de tareas. Muchos usuarios pueden tener muchas tareas y Muchas tareas pueden tener muchos usuarios. La forma correcta en la que creo hacer esto es con los siguientes modelos:

 var UserSchema = new Schema({ id: ObjectId, username: { type: String, required: true }, assignments: [ {type : mongoose.Schema.ObjectId, ref : 'Assignment'} ] }); var TaskSchema = new Schema({ id: ObjectId, title: { type: String, default: '' }, information: { type: String, default: '' }, assignments: [ {type : mongoose.Schema.ObjectId, ref : 'Assignment'} ] }); var AssignmentSchema = new Schema({ id: ObjectId, isCompleted: { type: Boolean, default: false }, completionDate: { type: Date, default: null }, tasks: [ {type : mongoose.Schema.ObjectId, ref : 'Task'} ], users: [ {type : mongoose.Schema.ObjectId, ref : 'User'} ] });

Si los modelos anteriores son correctos, ¿cómo se inserta una tarea con múltiples asignaciones de usuarios? Entiendo que primero crearía el documento de tareas para obtener su ObjectId, pero después de eso, ¿simplemente insertaría todas las asignaciones en la colección de asignaciones (con sus correspondientes Task y User objectId) y eso es todo? O tendría que insertar todas las asignaciones y luego editar cada usuario y tarea individual para insertar el ID de asignación en su propiedad de asignaciones.

Estoy seguro de que ya hay una pregunta de desbordamiento de pila como esta, pero no he podido encontrar ninguna. ¡Cualquier ayuda es apreciada!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que tienes la respuesta en tu pregunta.

Cree una nueva tarea, capture la identificación de la tarea. Luego busque o cree un nuevo usuario, edite o agregue la identificación de la tarea, capture la identificación del usuario. Agregue la identificación de usuario a la tarea. Repita para usuarios adicionales.

Creo que esto es lo que dices en la parte final de tu pregunta.

No veo por qué esto no puede funcionar.

about 4 years ago · Juan Pablo Isaza 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