gpt4 book ai didi

node.js - 如何获取过去 7 天的所有记录 sequelize

转载 作者:行者123 更新时间:2023-12-03 22:16:29 26 4
gpt4 key购买 nike

我正在尝试使用 sequelize 从 mysql 数据库中获取所有记录,并且尝试了以下方法:

shops.findAndCountAll({
where: {
createdAt: {
[Op.gte]: moment().subtract(7, 'days').toDate()
}
}
})

当我使用它时,出现错误: ReferenceError: moment is not defined
所以我尝试了这种方法:
shops.findAndCountAll({
where: {
createdAt: {
[Op.gte]: Sequelize.literal('NOW() - INTERVAL "7d"'),
}
}
})

但我收到以下错误
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlState: '42000',
sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to

your MySQL server version for the right syntax to use near '' at line 1",
sql: "SELECT count(*) AS `count` FROM `shop` AS `shops` WHERE `shops`.`createdAt` >= NOW() - INTERVAL '7d';"
},
sql: "SELECT count(*) AS `count` FROM `shop` AS `shops` WHERE `shops`.`createdAt` >= NOW() - INTERVAL '7d';"
}

我该如何解决这个问题。我不介意我使用哪种方法,只要我让它起作用。

先感谢您

最佳答案

您没有导入 moment ;因此 moment没有定义。

尝试

const moment = require('moment') //<es6

或者
import moment from 'moment' 

关于node.js - 如何获取过去 7 天的所有记录 sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60355504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com