node.js - 续集,node.js中的双重包含
问题描述
我想在我的 User.findAll 函数中包含另一个模型。SurveyResult 模型属于 Model Survey。我如何包含模型调查以显示调查属于调查结果
async index (req, res) {
try {
const userData = await User.findAll({
include: [ UserStatus, SurveyResult
]
})
.map(user => user.toJSON())
res.send(userData)
} catch (err) {
console.log(err)
}
}
这是我回来的json:
{
"id": 3,
"email": "testing@gmail.com",
"password": "$2a$08$Y22dOOIgyGhLAOokYluGxupKHRv8zRcbAVK1YEvWVUtoBl7dOsAYK",
"name": "test",
"forename": "test",
"createdAt": "2018-12-05T11:25:30.000Z",
"updatedAt": "2018-12-05T11:25:30.000Z",
"AdminId": 1,
"UserStatuses": [
{
"id": 3,
"sendEmail": false,
"sendResult": true,
"createdAt": "2018-12-05T11:25:31.000Z",
"updatedAt": "2018-12-05T11:25:31.000Z",
"UserId": 3
}
我试过了,但它不起作用:
const userData = await User.findAll({
include: [
{ UserStatus, SurveyResult, include: [Survey] }
]
})
.map(user => user.toJSON())
解决方案
我认为您正在尝试包含嵌套级别,如果是这种情况,您可以这样做
const userData = await User.findAll({
include: [
{ model : UserStatus }
{ model : SurveyResult ,
include: {
model : Survey
}
}
]
})
// OR ( Shorthand )
const userData = await User.findAll({
include: [ UserStatus , { model : SurveyResult , include: [Survey] }]
})
推荐阅读
- javascript - 用数组元素替换字符串键
- selenium - 在 nunit 控制台 c# 中运行所有测试后如何发送结果文件
- sql - 如何将 SQL 中临时生成的输出存储到表中
- docker - 如何使用提交的哈希构建 Docker 镜像
- ruby - 如何每 x 秒启动一个新线程
- javascript - 将 JS 代码应用于动态创建的 Range Slider
- javascript - SlateJs RenderMark 在多个插件中
- java - 如何使用处理和 UDP 接收 Tello 无人机的视频流
- node.js - 溢出排序阶段缓冲的 33554438 字节数据使用量超过了 33554432 字节的内部限制 错误?
- php - 用 php 让 html 爆炸?