Ho progetti e utenti.Come usare Sequelize appartiene a molte associazioni?
Un utente può avere molti progetti.
Un progetto può avere più utenti.
Ho provato a modellare questo con un'associazione OwnToMany.
Sul mio assistente mi ha definito le associazioni del genere:
user.belongsToMany(project, {
through: 'writer_of_project'
foreign-key: 'user'
as: \projects
});
project.bbelongsToMany(user, {
through: 'writer_of_project'
foreign-key: 'project'
as: 'writers'
});
Il mio cliente Ecco come si presenta:
user: {
id: 1,
...
projects: [1,2,3]
}
project: {
id: 1,
...
writers: [1,4,5]
}
Sul server l'associazione richiede una terza tabella per memorizzare l'associazione e Sequelize non sembra permettermi di includere i modelli corrispondenti da esso.
Se corro un project.find(1)
con include:[user]
ottengo
utente non è associato con il progetto!
Se provo a inserire il progetto dall'esempio sopra nel metodo di aggiornamento. Gli utenti attributo viene semplicemente ignorato (mi aspettavo un project.setUsers (projectUpdate.users per accadere in background).
Qual è il modo giusto per affrontare il carico e l'aggiornamento di queste associazioni?
Trovo che se si impostano i modelli con [sequelize-cli] (https://www.npmjs.com/package/sequelize-cli), l'associazione diventa più facile da leggere in quanto sono inclusi nel modello stesso . Permette anche di utilizzare le migrazioni che è un vero vantaggio – swifty