首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

MongoDB----时间查询---时间为String时的统计查询

MongoDB----时间查询---时间为String时的统计查询

MongoDB有自己的时间类型ISODate。如果使用ISODate的话在MongoDB中就能很方便的进行时间的统计。

格式如下

db.products.find({"date": {"$gte": new ISODate("2017-04-12 08:14:15.656")}});


但是有时候MongoDB的时间字段不小心存储成了String类型。

在Mysql中可以使用TO_Day很方便的把String类型的字段转换为时间再统计,但是MongoDB不支持。


因为MongoDB有自己的时间类型,且目前它只认可自己的时间类型。


所以如果在MongoDB中把时间存储成了字符串,需要统计时只能使用聚类来统计,聚类可以在统计时修改原字段的类型为Date。


db.myObject.aggregate(

{$project :{"dateTime": {"$gte": new ISODate($date)}}},

{

                        $match:{"$gt":{"$dateTime":new ISODate("2017-04-12 08:14:15.656")}}      

                    }
{$group:{_id:"$id","count":{$sum:1}}}

);
返回列表