我是 Sequelize 的新手,我试图弄清楚,我应该如何建模一对多的关系。
我的问题如下:一个学期,多篇论文。
var Term = sequelize.define( 'Term', ... );
var Paper = sequelize.define( 'Paper', ... );
假设我有一个术语。每个学期可以有很多篇论文,我想为我的学期添加/删除论文。我还想拿到这个学期的所有论文。
var term;
...
term.getPapers( ... );
term.setPapers( ... );
term.addPaper( paper );
term.removePaper( paper );
现在,假设我有一张纸。我想为我的论文获取/设置术语。
var paper;
...
paper.getTerm();
paper.setTerm();
使用sequelize如何实现?我已经研究了几个小时的文档,并且还在网上寻找一些胶水,但没有任何结果。我发现这种关联在 sequelize 中记录得很差(一对一和多对多要好得多)。
更新:
好吧,几个小时后,我弄清楚了它是如何工作的:
Term.hasMany( Paper, { as: 'papers' } );
Paper.hasOne( Term );
现在我们可以这样做:
term.addPaper( paper );
term.removePaper( paper );
paper.getTerm()
.success( function( term )
{
...
});
paper.setTerm( term );
我已经习惯了 Django,而且似乎 Sequelize 在代码和文档方面都不那么成熟......