我试图建立一个留言板来教自己的JavaScript。我正在与:

的NodeJS

angularjs

表示

MySQL的

我有一个视图/board,它使用以下路径(和相应的sqlize查询)来获取显示“board index”的数据:

router.get('/api/board/fetch', function(req, res) {

if(req.session.key) {

dbconn.threads.findAll({

order: 'id DESC',

include: [{

model: dbconn.users,

attributes: ['id', 'username', 'first_name']

}]

}).then(function(threads) {

return res.send({ success: true, threads: threads }); // return all threads found in table

});

} else {

return res.send({ success: false, msg: 'Error: Posts' })

}

});上面的例子简单地提取了一些关联模型数据的线程来显示一个摘要索引。现在,为了在特定线程中显示当前的“发布数”,我将sqlize修改为:

router.get('/api/board/fetch', function(req, res) {

if(req.session.key) {

dbconn.threads.findAll({

order: 'threads.id DESC',

group: ['threads.id', 'replies.id'],

raw: true,

include: [{

model: dbconn.users,

attributes: ['id', 'username', 'first_name'],

}, {

model: dbconn.replies,

attributes: [[sequelize.fn('COUNT', 'id'), 'replyCount']],

}]

}).then(function(threads) {

return res.send({ success: true, threads: threads }); // return all threads found in table

});

} else {

return res.send({ success: false, msg: 'Error: Posts' })

}

});我使用this SO question和this GH issue将它们拼凑在一起,而不是输出:

Thread Title | # Replies

它列出了5次相同的数据,所有这些数据的“#回复”均为0。我相信正在发生的事情:

我没有准确计算所有replies.id,其中threadId ='x'

我没有正确实施sequelize.fn(“COUNT”)...语法

为了更好的上下文(希望),我在我的控制器中有以下内容:

board.fetch().then(function(data) {

$scope.thread = data

console.log("data obj -> ", data)

})从我的service.js中使用以下内容:

fetch : function() {

return $http.get('/api/board/fetch').then(function(response) {

return response.data

})

},在浏览器中,该对象可理解地在threads数组中包含五个对象,它们都包含相同的数据(从sqlize查询中有意义)和replies.replyCount: 1。

我为可怕的代码,命名约定以及是否在其他地方回答了道歉。今天我花了一段时间试图弄清楚这一点,但由于缺乏理解来寻找正确的问题,我的工作受到了限制。

如果有必要,我可以提供模型定义;该职位已经感觉很长。

更新:

根据Shivam的观察结果修改代码,现在可以按我需要的方式工作。更新下面的代码:

dbconn.threads.findAll({

order: 'threads.id DESC',

raw: true,

attributes: {

include: ['title', 'body', 'slug', 'createdAt', 'userId', [sequelize.fn('COUNT', 'replies.id'), 'replyCount']]

},

include: [{

model: dbconn.users,

}, {

model: dbconn.replies, attributes: [],

}],

group: ['threads.id', 'replies.threadId'],

}).then(function(threads) {

return res.send({ success: true, threads: threads }); // return all threads found in table

});

} else {

return res.send({ success: false, msg: 'Error: Posts' })

}

sequelize模型关联_使用Sequelize来计算关联模型中的行数(其中id ='x')相关推荐

  1. python excel行数_Python:打开现有的Excel文件并计算工作表中的行数

    我有一个现有的Excel文件.我想加载那个并获取此工作表中的行数,以便稍后写入此工作表的下一行并再次保存.我收到以下错误消息: AttributeError: 'Worksheet' object h ...

  2. java 只显示文本文件_Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时能够计算出文本中的行数。...

    展开全部 java编写显示文本的应用程序, 需要用到图形界面GUI编程技术. 步骤一: 需要搭建一个整体的外观32313133353236313431303231363533e4b893e5b19e3 ...

  3. java excel 列数_计算Excel工作表列中的行数(提供的Java代码)

    在参考我之前的问题How to calculate number of rows in a column of Excel document using Java时,我能够计算给定表格中的总列数.现在 ...

  4. excel总行数 java_计算Excel工作表列中的行数(提供的Java代码)

    参考我之前的问题 How to calculate number of rows in a column of Excel document using Java,我能够计算给定表格中的总列数.现在, ...

  5. java中获取文件总行数_关于java:如何以有效的方式获取文件中的行数?

    本问题已经有最佳答案,请猛点这里访问. 我有一个大文件. 它包括大约3.000-20.000行. 如何使用Java获取文件中的行总数? 从你的评论到答案来判断,你要找的词是"有效的" ...

  6. sequelize模型关联_关于Sequelize连接查询时inlude中model和association的区别详解

    前言 大家都知道在使用Sequelize进行关系模型(表)间连接查询时,我们会通过model/as来指定已存在关联关系的连接查询模型,或是通过association来直接指定连接查询模型关系.那么,两 ...

  7. rfv模型代码_大家有没有计算RFV和RFQ的简单工具

    粗饲料相对值(RFV) RFV是目前美国唯一广泛使用(销售.库存及根据家畜对粗饲料质量的要求投料)的粗饲料质量评定指数,其定义为:相对一特定标准粗饲料(盛花期苜蓿),某种粗饲料可消化干物质(Diges ...

  8. python线性回归模型预处理_线性回归-2 数据预处理与模型验证评估

    主要内容数据向量化处理 特征放缩 上采样和下采样 重采样和交叉验证 模型验证 python 代码实现 1. 数据向量化处理 对于给定的m个样本,假设最终的拟合函数是 为拟合的权重系数,则有 损失函数改 ...

  9. python诞生的时间地点人物_用Python来计算任意视频中各人物的出镜时间!这项目值50K吗?...

    用Python来计算任意视频中各人物的出镜时间!这项目值50K吗? 简介当我开始接触深度学习时,学到的第一件事就是图像分类.这个话题非常有趣,包括我在内的很多人都沉浸在它的魅力之中.但是在我处理图像分 ...

最新文章

  1. 2003服务器系统屏蔽广告,电脑总是乱弹广告弹窗?教你彻底关闭
  2. 配置安全的Impala集群集成Sentry
  3. string的find函数
  4. session与cookie的简单使用
  5. python tensorflow 智能家居_TensorFlow平台下的视频目标跟踪深度学习模型设计
  6. ajax里怎么添加跳转地址,Ajax中window.location.href无法跳转的解决办法
  7. 基于Libevent的HTTP Server
  8. 原 SpringFramework核心技术五:Spring AOP API
  9. js前端之浅拷贝与深拷贝
  10. linux下测硬盘读写速率,linux下测试硬盘读写速度 互联网技术圈 互联网技术圈
  11. arcgis裁剪失败
  12. PHP后端入门(一):实现前后端交互
  13. 经典解读商业智能BI、大数据、数据中台三者关系
  14. 从病毒开始聊聊那些windows下大杂烩
  15. Unity 优化Unity切换后台的问题
  16. 怎么把jpg转换成pdf方法
  17. mac远程阿里云服务器
  18. 使用阿里云邮箱发送邮件
  19. 基础训练:龟兔赛跑预测
  20. PHP定时执行计划任务

热门文章

  1. 树莓派开机后画面一闪之后黑屏的解决
  2. 定时执行sql统计数据库连接数并记录到表中
  3. 导入项目时中文乱码的消除
  4. oracle numlist,oracle sql str2numlist numtabletype
  5. vue ---- vue简介
  6. Mysql查询某字段值重复的数据个数
  7. CentOS 7 安装 JAVA环境(JDK 1.8)
  8. idea允许多实例运行
  9. Java实现数组转字符串及字符串转数组的方法
  10. qt的一些参数配置 win和linux