Sequelize关系查询返回重复数据

2024-01-25

我正在使用 Sequelize 关系查询指定客户的客户订单。

index.js

var results2 = await customerService.getOrders(1);
console.log(results2);   

服务.js

exports.getOrders = function (id) {
    return customerModel.findAll({
        raw: true,
        include: [{
            model: orderModel,
            where: { customer_idcustomer: id }
        }],

    }).then(r => r);
};

results

[ { idcustomer: 1,
    customername: 'hello world',
    'orders.idorder': 1,
    'orders.orderdesc': 'order description 1',
    'orders.customer_idcustomer': 1 },
  { idcustomer: 1,
    customername: 'hello world',
    'orders.idorder': 2,
    'orders.orderdesc': 'Test 456',
    'orders.customer_idcustomer': 1 },
  { idcustomer: 1,
    customername: 'hello world',
    'orders.idorder': 3,
    'orders.orderdesc': 'Test 123',
    'orders.customer_idcustomer': 1 } ]

expected

[ { idcustomer: 1,
    customername: 'hello world',
    'orders: [{
       'orders.idorder': 1,
       'orders.orderdesc': 'order description 1',
       'orders.customer_idcustomer': 1 },   
    },
    {
       'orders.idorder': 2,
       'orders.orderdesc': 'order description 2',
       'orders.customer_idcustomer': 1 },   
    },
    {
       'orders.idorder': 3,
       'orders.orderdesc': 'order description 3',
       'orders.customer_idcustomer': 1 },   
    }]
]

您所需要的只是删除raw: true,从查询中,

因为它将返回 plain/flat object ,并且这会将您的对象转换为现在的样子。

exports.getOrders = function (id) {
    return customerModel.findAll({
        // raw: true, // <------ Just remove this line
        include: [{
            model: orderModel,
            where: { customer_idcustomer: id }
        }],

    }).then(r => r);
};

注意:您应该根据您的情况将 where 条件放在上层 逻辑

exports.getOrders = function (id) {
    return customerModel.findAll({
        where: { id: id } ,
        // raw: true, // <------ Just remove this line
        include: [{
            model: orderModel
        }]
    }).then(r => r);
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sequelize关系查询返回重复数据 的相关文章

随机推荐

  • Vue CLI 3 vue.config.js 与 webpack.config.js 插件

    我正在使用 Vue CLI 3 我需要添加更简洁的 Webpack 插件 https webpack js org plugins terser webpack plugin 用于去除控制台日志 and comments从代码中 这不适用于
  • 需要一些帮助在 Amazon EC2 和 VPS 之间进行选择 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在我的公司 我们正在考虑托管一个博客和一个 CMS 我们仍在构建该产品 尚未投入使用 我们正在考虑一些托管选项 我们需要对系统有完整的 root sh
  • VB.Net 中的只读局部变量

    这是一个非常简单的问题 我很惊讶我必须问它 但是 如何在 VB Net 中声明只读局部变量 Java 和 C 有 Final const 局部变量 所以我确信 VB Net 一定有它们 但我就是找不到它的语法 不幸的是 VB NET仅支持只
  • Android 保存游戏状态

    我不确定应该如何保存我正在开发的游戏的游戏状态 我应该保存包含所有游戏信息的实例 对象吗 如果是 怎么办 或者我应该将所有相关信息保存在 txt 文件中并在需要时保存 加载信息 您是如何做到这一点的 您对我的建议有何看法 除非将实例 对象序
  • 如何在postgres中将整数分钟转换为间隔

    我正在尝试将整数分钟转换为 postgres 中的间隔 是否有任何函数可以帮助我将其转换为间隔 或者我应该将其除以 60 并得到最终结果 20 minutes will be like 00 20 00 as result 最快的方法是与m
  • Firefox 和 Chrome 中的文本区域填充不一致

    我的文本区域元素上有填充 我希望当您在文本区域内滚动时内容保持填充状态 它在 Firefox 中按预期工作 但在 Chrome 中却不然 下图显示了输出的差异 CSS textarea width 250px height 160px pa
  • 在 C++ 中计算字符串的算术表达式[重复]

    这个问题在这里已经有答案了 我正在寻找一种简单的方法来计算字符串中的简单数学表达式 如下所示 3 2 4 1 4 9 6 我只是想 and 运营加 and 迹象 和 优先级高于 可以尝试一下 http partow net programm
  • 为什么 CV::Mat 图像的颜色空间错误(GBR 而不是 RGB 或 BGR)?

    我有一个 Python 模块 它将 RGB 发送到 C 并在那里被消耗 然而 无论我做什么 图像都有错误的色彩空间 那是我试图将其转换为RGB 假设它仍然在 BGR 中 尽管在 python 中它故意通过执行以下操作转换为 RGB retu
  • 在 C# 中使用反应式扩展时如何显示进度

    我在 C 中使用反应式扩展来执行一些计算 这是我的代码到目前为止的样子 我尝试将代码包装起来 以便在计算方法中执行一系列任务时可以显示进度 这是可观察到的 IObservable
  • LINQ 表达式语法如何与 Include() 一起使用以进行预加载

    我在下面有一个查询 但我想执行 Include 来急切加载属性 Actions 有一个导航属性 User Action User 1 我的基本查询 from a in Actions join u in Users on a UserId
  • 在使用 SQL Server 数据库邮件创建的电子邮件中嵌入图像

    我正在仅在 SQL Server 中开发电子邮件解决方案 该解决方案将使用数据库邮件发送 HTML 格式的电子邮件 问题是 HTML 中的图像需要嵌入到外发电子邮件中 如果我使用 net 应用程序来生成和发送电子邮件 这不会成为问题 但不幸
  • 用于验证带扩展名的 Windows 和 Linux 路径的正则表达式

    我正在尝试编写一个函数 该函数将验证给定路径在带有文件扩展名的 Linux Windows 中是否有效 ex Windows路径 D DATA My Project 01 07 03 061418738709443 docLinux路径 s
  • PHP 中的文件夹作为参数

    我想创建一个脚本 将网站中请求的每个文件夹作为参数传递 例如 如果有人请求 www example com foo 这将被重定向到主index php并作为参数传递 在请求时得到相同的结果www example com index php
  • Java中如何实现并发读取映射到内存的文件?

    我有很多线程同时读取同一个文件 总共大约100M 并且只有一个线程更新文件 我想将文件映射到内存中以减少FILE I O 在 Java 中如何做到这一点 我基本上考虑了以下2种方法 用字节数组存储文件 多线程读取时每次创建ByteArray
  • 为什么 CarPlay 在真车上会崩溃?

    我有一个音频应用程序并已实现 CarPlay 我已按照本指南添加 CarPlay 支持 https blog fethica com add carplay support to swiftradio https blog fethica
  • 您在开发中如何处理 SSL?

    我有一个应用程序 它的一些路由与ssl 要求 http github com rails ssl requirement插入 它已部署并且在生产中运行良好 问题是如何在开发中最好地处理这个问题 因为目前我只是简单地破解我的routes rb
  • 使用php从h1标签获取所有值

    我想接收一个包含文本中所有 h1 标签值的数组 例如 如果给定的输入字符串 h1 hello h1 p random text p h1 title number two h1 我需要接收一个包含以下内容的数组 titles 0 hello
  • SQL Reporting Services - Mozilla 中未显示打印按钮

    我在用SQL 报告服务 它工作正常并显示打印按钮IE 但在 Mozilla Firefox 中未显示 有人有什么主意吗 我已经检查过这个解决方案 但它不起作用 http social msdn microsoft com Forums en
  • 网络直径是什么意思?

    上图所示这个链接 http en wikipedia org wiki Vertex 28graph theory 29的 具有 6 个顶点和 7 个边的图 其中最左侧的 6 号顶点是叶顶点或下垂顶点 有直径4吗 对还是错 定义是 图的直径
  • Sequelize关系查询返回重复数据

    我正在使用 Sequelize 关系查询指定客户的客户订单 index js var results2 await customerService getOrders 1 console log results2 服务 js exports