我必须使用typeorm
从数据库中获取所有数据,但只能获取给定月份的数据。
在我的数据库中:
date-service: 2020-10-25
我尝试以这种方式创建查询,但是它返回了我所有的数据,但是我只需要给定的月份(我提供的日期就像完整的日期一样),因此如果我提供了2020-09-10
,则需要获取第9
个月的所有数据。
我的查询:
const data = await this.conn.getRepository(Order).createQueryBuilder("order").getRawMany();
如何创建查询以仅获取给定月份的数据?
感谢您的回答
答案 0 :(得分:1)
我遇到了类似的问题。您可以为查询提供一个日期范围,例如使用力矩,date-fns等从给定日期提取的月份的开始和结束日期
在处理很棒的日期时,我通常使用 moment.js 。 https://momentjs.com/docs/#/manipulating/
let date = 2020-09-10;
const data = await this.conn.getRepository(Order)
.createQueryBuilder("order")
.where('date-service >= :after', { after: moment(date).startOf('month').format('YYYY-MM-DD') })
.andWhere('date-service < :before', { before: moment(date).endOf('month').format('YYYY-MM-DD') })
.getRawMany();