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!
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.