Come dovrei implementare questo schema in MongoDB?

Sto provando a scrivere uno script di monitoraggio e ho difficoltà a capire come dovrebbe funzionare il database.

In MySQL creerei una tabella che assomigli a

User: username_name: string Campaign: title: string description: string link: string UserCampaign: user_id: integer camp_id: integer Click: os: text referer: text camp_id: integer user_id: integer 

Devo essere in grado di:

  • Vedere le informazioni di ogni clic come IP, Referer, SO, ecc
  • Guarda quanti clic spesso provengono da X IP, X Referer, X OS
  • Associare ciascun clic con un utente e una campagna

Se faccio qualcosa sulla falsariga di

 User { Campaigns: [ { Clicks: [] } ] } 

Ho incontrato due problemi:

  • Crea un nuovo object campagna per ogni utente che è un problema, perché se devo aggiornare la mia campagna, ho bisogno di aggiornare l’object per ogni utente
  • Prevedo che l’array Clicks contenga una quantità di dati GRANDE, mi sembra che avere una parte dell’object User renderà molto lenta la query