>데이터 베이스 >MySQL 튜토리얼 >[Mongo]按时间分组统计(时间格式化)

[Mongo]按时间分组统计(时间格式化)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 16:03:181437검색

分组的key可以使用原有的字段,也可以使用一个function来格式化日期。 /* 0 */{ _id : ObjectId(541fcc51c6c36038bc6b81cd), url : http://wifi21.com/, addtime : ISODate(2014-08-19T00:15:02Z)}/* 1 */{ _id : ObjectId(541fcc51c6c36038bc6b81ce), url :

分组的key可以使用原有的字段,也可以使用一个function来格式化日期。
/* 0 */
{
  "_id" : ObjectId("541fcc51c6c36038bc6b81cd"),
  "url" : "http://wifi21.com/",
  "addtime" : ISODate("2014-08-19T00:15:02Z")
}

/* 1 */
{
  "_id" : ObjectId("541fcc51c6c36038bc6b81ce"),
  "url" : "http://meiwen.me/src/index.html",
  "addtime" : ISODate("2014-08-19T00:15:07Z")
}
...

统计代码:

db.msds_accessrecord.group({
 keyf : function(doc){
	var date = new Date(doc.addtime);
	var dateKey = ""+date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
	return {'day':dateKey}; //33
}, 
 initial : {"count":0}, 
 reduce : function Reduce(doc, out) {
	if(doc.url){
		out.count +=1;
	}
}
});

统计结果:

[
        {
                "day" : "2014-8-19",
                "count" : 41
        },
        {
                "day" : "2014-8-22",
                "count" : 28
        },
        ...
]

参考: http://stackoverflow.com/questions/5168904/group-by-dates-in-mongodb

本文出自 “orangleliu笔记本” 博客,请务必保留此出处 http://blog.csdn.net/orangleliu/article/details/39480359
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.