为了账号安全,请及时绑定邮箱和手机立即绑定

在mongodb中按日期分组

在mongodb中按日期分组

宝慕林4294392 2019-12-11 14:09:24
我正在一个项目中,在其中跟踪某个主题的点击次数。我正在使用mongodb,我必须按日期对点击次数进行分组(我希望对15天的数据进行分组)。我在mongodb中以以下格式存储数据{    "_id" : ObjectId("4d663451d1e7242c4b68e000"),   "date" : "Mon Dec 27 2010 18:51:22 GMT+0000 (UTC)",   "topic" : "abc",   "time" : "18:51:22"}{     "_id" : ObjectId("4d6634514cb5cb2c4b69e000"),     "date" : "Mon Dec 27 2010 18:51:23 GMT+0000 (UTC)",     "topic" : "bce",     "time" : "18:51:23"}我想按天数(15天)对topic:abc的点击次数进行分组。.我知道如何进行分组,但是如何按存储在数据库中的日期进行分组我正在寻找以下格式的结果[  {    "date" : "date in log",    "click" : 9   },    {    "date" : "date in log",    "click" : 19  },  ]我已经编写了代码,但是仅当日期在字符串中时才有效(代码在这里http://pastebin.com/2wm1n1ix)...请指导我如何将其分组
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

这可以帮助


return new Promise(function(resolve, reject) {

db.doc.aggregate(

            [

                { $match: {} },

                { $group: { _id: { $dateToString: { format: "%Y-%m-%d", date: "$date" } }, count: { $sum: 1 } } },

                { $sort: { _id: 1 } }

            ]

        ).then(doc => {

            /* if you need a date object */

            doc.forEach(function(value, index) {

                  doc[index]._id = new Date(value._id);

              }, this);

            resolve(doc);

        }).catch(reject);

}




查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 633 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信