【发布时间】:2019-08-09 11:41:11
【问题描述】:
我的公司正在使用元数据库进行查询 我有为查询的自定义日期制作的数据 但是我们想把这个查询放在“脉冲”中,以便每天收到关于这个查询的邮件。 这个查询中的日期是否可以每天更改。获取最后“30 天”、“7 天”和最后一天数据的结果。
简而言之,我正在寻找一个函数,以便它可以跟踪“我的当前日期”,以便我可以执行“我的当前日期”-30 来获取持续 30 天的数据
[{"$lookup":{
"from":"institutions",
"localField":"institute_id",
"foreignField":"_id",
"as":"insti"
}},
{"$group":{
"_id":"$institute_id",
"name":{"$first":"$insti.name"},
"applicants1":{"$addToSet":{"$cond":[{"$gte":["$created_at",ISODate("2019-06-30T00:00:00.000Z")]},"$candidate_id",null]}},
"applicants2":{"$addToSet":{"$cond":[{"$gte":["$created_at",ISODate("2019-07-23T00:00:00.000Z")]},"$candidate_id",null]}},
"applicants3":{"$addToSet":{"$cond":[{"$gte":["$created_at",ISODate("2019-07-29T00:00:00.000Z")]},"$candidate_id",null]}}
}},
{"$project":{
"_id":0,
"name":"$name",
"last_30_days":{"$subtract":[{"$size":"$applicants1"},1]},
"last_7_days":{"$subtract":[{"$size":"$applicants2"},1]},
"last_1_day":{"$subtract":[{"$size":"$applicants3"},1]}
}},{"$sort":{"last_30_days":-1}}
]
我尝试在过去 30 天的查询中使用 "$currentDate()-30",但它不起作用
【问题讨论】:
-
您是否可以尝试一个更简单的查询,使用查询生成器过滤过去 30 天的数据,然后显示生成的 SQL?这样,您就可以弄清楚如何执行这种过滤器。我不了解 MongoDB,但如果我觉得这与它有关,而不是与元数据库本身有关。