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}}}

);






评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小凡vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值