如何在sequelize中建模一对多关联?

TPJ*_*TPJ 13 node.js sequelize.js

我是Sequelize的新手,我想弄清楚,我应该如何建立一对多的关系.

我的问题如下:一个学期,很多论文.

var Term = sequelize.define( 'Term', ... );
var Paper = sequelize.define( 'Paper', ... );
Run Code Online (Sandbox Code Playgroud)

我们假设我有一个术语.每个学期都可以有很多论文,我想为我的学期添加/删除论文.我也希望获得该学期的所有论文.

var term;
...
term.getPapers( ... );
term.setPapers( ... );
term.addPaper( paper );
term.removePaper( paper );
Run Code Online (Sandbox Code Playgroud)

现在,让我们假设我有一篇论文.我想得到/设定我的论文的术语.

var paper;

...

paper.getTerm();
paper.setTerm();
Run Code Online (Sandbox Code Playgroud)

如何用续集来实现?我已经研究了几个小时的文档,还在网上寻找一些胶水,但没有任何结果.我发现这种关联在续集中很难记录(一对一和多对多的方式更好).

更新:

好吧,几个小时后我弄清楚它是如何工作的:

Term.hasMany( Paper, { as: 'papers' } );
Paper.hasOne( Term );
Run Code Online (Sandbox Code Playgroud)

现在我们可以做到:

term.addPaper( paper );
term.removePaper( paper );

paper.getTerm()
  .success( function( term )
  {
    ...
  });
paper.setTerm( term );
Run Code Online (Sandbox Code Playgroud)

我已经习惯了Django,而且看起来Sequelize在代码和文档方面都不那么成熟......

Gnt*_*tem 1

这取决于你如何构建数据库,这确实是这样的想法..

paper.hasOne(term,{as:"PaperTerm"})
Run Code Online (Sandbox Code Playgroud)