当与include一起使用时,Sequelize返回空值

时间:2018-11-21 11:43:40

标签: javascript sql node.js sequelize.js node-modules

当查询包含模型的模型时,如果没有可用的行,它将返回具有空值的数据。

我知道这个问题以前已经发布过很多次了,但是到目前为止我还没有找到任何结论。

Model.findOne({
    where: { id: 1 },
    include: [{model: Model1}]
})

我得到的结果就像

{
    "id": null,
    "name": null,
    "age": null,
    "model1": []
}

如果我使用raw: true,它的打印效果就像

{
    "id": null,
    "name": null,
    "age": null,
    "model1.model1n": 0
}

1 个答案:

答案 0 :(得分:0)

一个原因是如果您从属性中排除id。如果要在包含项或表中使用范围或属性,请确保返回的是id主键。

另一个原因是,如果您在该列的自定义null getter函数中返回了get()