序列化:在键/值对象中转换嵌套模型

时间:2018-10-24 23:04:47

标签: javascript sequelize.js

我有一个Projects模型,该模型与ProjectsTranslations具有hasMany关系。我通过此查询检索数据:

models.Projects.findById(req.params.id, {
    include: [
        {
            model: models.ProjectsTranslations,
        },
    ],
})

哪个返回给我此数据:

{
    "Project": {
        "title": "First project",
        "id": 1,
        "ProjectsTranslations": [
            {
                "id": 1,
                "title": "First project",
                "ProjectId":1,
                "language": "en"
            },
            {
                "id": 2,
                "title": "Primer proyecto",
                "ProjectId":1,
                "language": "es"
            }
        ]
    }
}

我需要其他格式的翻译:

{
    "Project": {
        "title": "First project",
        "id": 1,
        "ProjectsTranslations": {
           "en": {
                "id": 1,
                "title": "First project",
                "ProjectId":1,
                "language": "en",
            },
            "es": {
                "id": 2,
                "title": "Primer proyecto",
                "ProjectId":1,
                "language": "es"
            }
        }
    }
}

在模型定义中有什么方法可以做到吗?没有用于检索数据的钩子(通过afterFind钩子进行了尝试,没有结果)。也许是整个模型的吸气剂(如果存在)或实例方法……但是我不确定如何实现这一点。任何帮助都将受到欢迎!

0 个答案:

没有答案