sequelize和sequelize-hierarchy:如何在模型getter中执行一个访问器?

我在我的应用程序中使用了sequelizesequelize-hierarchy ,并且已经部分定义了如下模型:

 ancestors : { type: orm.Sequelize.VIRTUAL, get: function() { return 'TODO how return getAncestors here?' } } 

在getter里面,我怎样才能访问由sequelize-hierarchy提供的getAncestors()方法?

       

网上收集的解决方案 "sequelize和sequelize-hierarchy:如何在模型getter中执行一个访问器?"

@leroydev感谢logging;)

正如开发者在这个问题上对我说的那样:

恐怕这是不可能的。 您需要先使用include来加载祖先。 getter不能asynchronous执行,因此不能从数据库中获取祖先。 当使用include时,它会在主查询的同时读取它们。

这是Sequelize的一个限制(实际上我认为是相当合理的)。 恐怕我无能为力,所以closures这个公关。

参考: https : //github.com/overlookmotel/sequelize-hierarchy/issues/20