如何解决Mongo:添加到汇总中时,$ match返回一个空数组
const data = await this.iveModel
.aggregate([
{
$group: {
_id: { $month: '$createdAt' },count: { $sum: 1 },},])
.exec();
const inicioDeAnio = moment()
.startOf('year')
.toISOString();
const finDeAnio = moment()
.endOf('year')
.toISOString();
const num = await this.iveModel
.aggregate([
{
$match: {
createdAt: {
$gt: inicioDeAnio,$lt: finDeAnio
}
}
},{
$group: {
_id: { $month: '$createdAt' },])
.exec();
这总是返回一个空数组。 我不知道我在做什么错。
解决方法
您的inicioDeAnio
和finDeAnio
变量只是字符串,如果要按日期查询,则需要使用 ISODate 。像这样:
...{
$match: {
createdAt: {
$gt: ISODate(inicioDeAnio),$lt: ISODate(finDeAnio)
}
}...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。