我在我的集合中有字段LAST_DATE_LIVE字段,值以DD/MM/YYYY HH:mm:ss格式保存为string,例如:“06/12/2021 03:30:00”.
我在我的API中有一个过滤器,它接收的值为**“DD/MM/YYYY”**(过滤器中不允许时间)和范围“DD/MM/YYYY-DD/MM/YYYY”)。我在使用管道聚合。
这是查询的一部分:
queryFilter = {
$and: [
{
$or: [
{
'LAST_DATE_LIVE': hasInterval ? { $gte: startDate, $lte: endDate } : { $regex: `^${startDate}` }
}
]
}
]
};
startDate有一个值,正如我在DD/MM/YYYY格式中提到的,endDate也是如此。
当我没有一个范围,查询工作得很好,问题是在**范围 *。有什么办法吗?
1条答案
按热度按时间siotufzp1#
不确定您希望如何处理时间组件(例如,是
2021-06-14
的结束日期,意思是午夜或11:59:59),但一般来说,如果使用真实的日期,而不是DD/MM/YYYY
字符串,这很容易做到。