MONGOOSE 使用字符串查找文档 (LIKE %SQL)

MONGOOSE find a document using a string (LIKE %SQL)

我想使用集合中包含的日期字段查找文档

//Document Exemple: MODEL : MY_EVENT

event_time_produce: '2018-01-03T11:00:00.201Z',
event_name : 'show'

我想查找以“2018-01-03T11:00:”开头的所有文档

我想忽略 Millesecobde 和 ISOtype ..etc 的部分

喜欢SQL:

SELECT * from MY_EVENT where event_time_produce LIKE '2018-01-03T11:00:%'

我已经试过了但没有用(猫鼬)

MY_EVENT.find({event_time_produce : {
                        $regex: new RegExp('^2018-01-03T11:00:00.*$')
                    }})
         .exec(....)

简单的搜索工作:

MY_EVENT.find({event_time_produce : '2018-01-03T11:00:00.201Z'})
         .exec(....) 

但我想获取 2018 年 1 月 3 日在 11:00:XX

的所有文件

无论秒数,只需验证日期、小时和分钟。

这不是你正则表达式的问题吗?

在 SQL 的示例中,您有 2018-01-03T11:00:% 在 mongo 上,您有 ^2018-01-03T11:00:00.*$(在 11:00: 之后还有 2 个零)

更新: 如果实际文档中的数据是 ISODate 而不是常规字符串,最好使用这样的范围: {event_time_produce:{$gte:ISODate("2018-01-03T11:00:00.000+0000"),$lte:ISODate("2018-01-03T11:00:59.999+0000") }}