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

时间:2018-01-04 15:17:44

标签: node.js mongodb mongoose mongodb-query mongoose-schema

我想使用集合

中包含的日期字段查找文档
//Document Exemple: MODEL : MY_EVENT

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

我想找到所有以' 2018-01-03T11:00开头的文件:'

我想忽略Millesecobde& amp; 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(....) 

但我希望从201 Janury 2018年11:00:XX

获取所有文件

无论第二次只是验证日期,时间和时间。分钟。

1 个答案:

答案 0 :(得分:2)

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

在您的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") }}