Estoy desarrollando usando express js y npm module mongodb con mongodb como base de datos. Tengo dos colecciones a saber, "usuarios" y "actividades". Puede haber miles de actividades de un usuario.

  1. En primer lugar, estoy almacenando la identificación, el nombre y la URL de la imagen del usuario en el documento de actividad para relación. Dime si esto es incorrecto para relaciones y sugiera algo para almacenar la relación.

  2. En segundo lugar, el problema al que me enfrento ahora es cuando actualizo el nombre de un usuario no se actualiza en las actividades del usuario (que es
    obvio). Quiero un ejemplo para poder actualizar muchos documentos a la vez. utilizando la identificación de usuario.

Por favor ayude con lo anterior. Gracias por adelantado.

-1
Sagar Gopale 27 ene. 2016 a las 15:35

2 respuestas

La mejor respuesta
  1. Esta es la relación típica de uno a varios. Entonces, en el caso del Usuario, puede tener el siguiente esquema:
//User
{
  //_id: ObjectId - this one is unique and inserted to every document by default  
  profile: String,
    ...
}
  
//Activity
{
  description: String,
  ...,

  userId: String, // referecing the user _id, e.g. "56a5eccb2258799919dc2c40"
}
  
  1. Si desea actualizar muchos documentos para la actividad:
db.activities.update({ userId: '56a5eccb2258799919dc2c40' }, { 
    $set: {
      description: 'new description'
    } 
  },
  {
    multi: true //means update all matching docs
  });

              
1
Yerken 27 ene. 2016 a las 14:33

Debe almacenar solo el _id del usuario en la actividad. Luego utilícelo para acceder al Usuario a través de la Actividad (si eso es lo que desea hacer).

0
Adam 27 ene. 2016 a las 13:39