mongodb怎么查询一天中24个小时内的各个数据集合

mongodb怎么查询一天中24个小时内的各个数据集合,第1张

你需要有一个字段标示写入数据库的时间,然后查询的时候,设定查询时间段:

db.things.find({"createTime":{"$gt":"2014-10-29 0:0:0"}}) // 大于某个时间

db.things.find({"createTime":{"$lt":"2014-10-29 0:0:0"}}) // 小于某个时间

db.things.find({"$and":[{"createTime":{"$gt":"2014-10-29 0:0:0"}},{"createTime":{"$lt":"2014-10-29 0:0:0"}}]}) // 某个时间段

由于Mongodb不是关系型数据库文件,实际上,它并不存在传统关系型数据库中的所谓“数据库”的概念,但不用担心,当你第一次新增数据时,mongodb就会以collection集合的形式进行保存和新建,而不需要你手工去新建立。

最近做报表,日志都是存入mongodb,所以需要从mongodb统计查询。

需求:

1、按天查询当天日志条数。

2、返回当天日期和条数2个字段。

ISODate为0时区,查询时需要加入时区 "timezone" : "Asia/Shanghai" ,否则凌晨8点以前的数据会归入前一天的日期。

NameValueEntity.java

问题:

1,ISODate("2016-01-01T00:00:00Z"),这个是什么日期格式。

2,mongo vue的时间类型属性的相关查询。包括,大于某个时间,小于某个时间,在某一段时间范围。

3,了解一下mongo数据库中存储时间Date类型数据的秘密。

MongoDB 日期查询目前可通过Date 和ISODate两种方式:

1.Date方式。

例如startDate<=2012.12.7且endDate>=2012.12.7:可翻译为

"startDate":{$lte:new Date(2012,11,7)},"endDate":{$gte:new Date(2012,11,7)}。

如下是查询日期大于等于2016年12月1日的记录条数(注意,中间的月份写11,就是12月)

db.xxx.find({"updateTime" : {$gte:new Date(2016,11,1)}})

看下图,发现,mongo vue自动给日期转换为ISODate的格式了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9921668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存