nodejs + sequelize :: include,如果需要false

我有以下层次的对象:

  1. 用户
  2. 父母(hasOne)
  3. 孩子(hasMany)

一旦我有一个用户对象,即时通讯尝试加载相关的父对象以及它的一些子对象。 以下作品:

user.getParent({ include: [{ model: Child }] }).then(function(parent) { var children = parent.children; }); 

但如果我想有select地加载一些父母的孩子,像这样:

 user.getParent({ include: [{ model: Child, where: { gender: 'FEMALE' } }] }).then(function(parent) { var daughters = parent.daughters; }); 

如果父母有一个或多个女儿,则查询起作用,并且将父母数据和所有女儿的数据一起获得。 然而,如果父母只有儿子,返回的父对象是null ..

我想,如果父母没有女儿,父对象应该仍然是与children = nullchildren = [] ..解决..

另外,如果我想在加载父项时简单地加载一些子项,我该如何去做呢?

谢谢

原来是我自己的代码的问题.. sequelize无法加载模型,如果嵌套包含有一个where子句,返回没有模型..以确保它没有完全失败,您可以设置一个required: false子句where子句..这使得sequelize返回一个空白的数组,而不是完全失败的负载..

更多信息在https://github.com/sequelize/sequelize/issues/4019