如何在mongodb中过滤特定日期格式的查询?

时间:2017-04-20 10:36:20

标签: sql-server mongodb

我在date parameter中获得string format 'yyyyMMdd'

我在mongodb中有一个具有属性CallDate ISODate()的集合,我需要写下一个过滤日期参数的查询。

SQL Server 中,我们只使用查询

select * from xyz x with (nolock) 
where CONVERT(VARCHAR(23), Cast(x.CallDate as datetime), 112)  = @pDateParameter

我怎样才能在 mongodb

中实现相同的过滤器
db.getCollection("_xyz").find({CallDate : ?}) //How to adjust that filter here

1 个答案:

答案 0 :(得分:1)

您可以在3.4版本中尝试以下聚合。

使用$match在日期参数上添加字符串格式的日期属性,后跟$project,如果您愿意,可以使用排除的db.collection.aggregate([ { $addFields: {yearMonthDay: { $dateToString: { format: "%Y%m%d", date: "$CallDate" } } } }, { $match: {"yearMonthDay":date parameter}}, { $project:{"yearMonthDay":0}} ]) 删除字符串日期列。

{{1}}