日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

mongodb 日期分组聚合_mongoose聚合aggregate按日期分组计算

發(fā)布時(shí)間:2024/1/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb 日期分组聚合_mongoose聚合aggregate按日期分组计算 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

在MongoDB中,聚合(aggregate)主要用于進(jìn)行處理數(shù)據(jù),比如統(tǒng)計(jì)求和,求平均數(shù)等,并返回計(jì)算后的數(shù)據(jù)結(jié)果,這給我們帶來了很多便捷之處,因?yàn)榭梢栽谧x取數(shù)據(jù)的同時(shí)進(jìn)行數(shù)據(jù)處理。

場(chǎng)景介紹

在日常開發(fā)環(huán)境中經(jīng)常涉及到數(shù)據(jù)報(bào)表,需要根據(jù)年月日對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),下面我將簡(jiǎn)單介紹如何根據(jù)日期(yyyy-MM-dd)對(duì)營(yíng)業(yè)額進(jìn)行分組,并計(jì)算其當(dāng)天的收入。

數(shù)據(jù)結(jié)構(gòu)

Order表數(shù)據(jù)如下:

{

"_id" : ObjectId("578c7cf8c2b8941e375a1178"),

"price" : 10,

"shop" : ObjectId("57751e70d35e816989656eb3"),

"created_at" : ISODate("2016-07-01T06:53:44.148Z"),

},

{

"_id" : ObjectId("578c7cf8c2b8941e375a2345"),

"price" : 20,

"shop" : ObjectId("57751e70d35e816989656eb3"),

"created_at" : ISODate("2016-07-01T07:50:24.242Z"),

},

{

"_id" : ObjectId("5778d62630cc9e92a723c370"),

"price" : 5,

"shop" : ObjectId("57751e70d35e816989656eb3"),

"created_at" : ISODate("2016-07-02T09:08:54.656Z"),

}

可以看出上面數(shù)據(jù)有兩條2016-07-01以及一條2016-07-02,現(xiàn)在讓我們來聚合出我們想要的結(jié)果。

代碼實(shí)現(xiàn)

var shop = req.shop; //店鋪數(shù)據(jù)

//聚合

Order.aggregate([

{

$match: {

"shop": shop._id //獲取shop字段為shop._id,如同find

}

},

{

$project : {

day : {$substr: [{"$add":["$created_at", 28800000]}, 0, 10] },//時(shí)區(qū)數(shù)據(jù)校準(zhǔn),8小時(shí)換算成毫秒數(shù)為8*60*60*1000=288000后分割成YYYY-MM-DD日期格式便于分組

"price": 1 //設(shè)置原有price字段可用,用于計(jì)算總價(jià)

},

},

{

$group: {

_id:"$day", //將_id設(shè)置為day數(shù)據(jù)

totalPrice:{$sum: "$price"}, //統(tǒng)計(jì)price

}

},

{

$sort: {_id: 1}//根據(jù)date排序

}

]).exec(function (err, turnover){//返回結(jié)果

console.log(turnover);

});

代碼解讀

$match用于匹配滿足條件的文檔,如同find函數(shù)。

$project用于指示字段是否輸出以及字段輸出控制。

$substr與$add,一個(gè)是分割操作,另一個(gè)相加操作。不難發(fā)現(xiàn)我們的原始數(shù)據(jù)created_at字段是具體到秒,因此如果想根據(jù)日期進(jìn)行分割的話,那么需要將created_at分割成我們想要的日期格式,這其中需要特別注意的是mongoodb存儲(chǔ)的數(shù)據(jù)是按照世界時(shí)存儲(chǔ)的,因此進(jìn)行分割操作時(shí)候需要對(duì)時(shí)間進(jìn)行時(shí)區(qū)校正,因此需使用$add加上時(shí)區(qū)差8小時(shí)(毫秒數(shù))才能得到正確的數(shù)據(jù),最后一步便是利用$group進(jìn)行分組了。

細(xì)心的小伙伴可以會(huì)發(fā)現(xiàn)aggregate自帶日期操作$year,$month,$dayOfMonth用于獲取年,月,日,會(huì)想著通過這三個(gè)參數(shù)來拼裝成yyyy-MM-dd日期格式,可惜,fidding之前也是這么操作的,只是最后發(fā)現(xiàn)appregate并解析不了,故在此使用了$substr分割方法。

$group分組以及統(tǒng)計(jì),其中_id對(duì)應(yīng)值便是我們所需分組的字段數(shù)據(jù),totalPrice則是用$sum對(duì)同組數(shù)據(jù)的字段price進(jìn)行求和,并將結(jié)果存放于totalPrice中。

$sum字段求和。

$sort排序。

結(jié)果返回

上面聚合結(jié)果turnover的值如下

[

{_id: "2016-07-01", totalPrice: 30},

{_id: "2016-07-02", totalPrice: 5}

]

正如我們所需要的,我們得到了按日期分組而成的當(dāng)天收入總價(jià)。

happy coding!

總結(jié)

以上是生活随笔為你收集整理的mongodb 日期分组聚合_mongoose聚合aggregate按日期分组计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 麻豆精品一区二区三区 | 久久久老熟女一区二区三区91 | 91久久免费视频 | 免费天堂av| 天天久| 日韩视频免费 | 一道本久在线中文字幕 | 欧美日韩系列 | 男人天堂网在线 | 九色福利 | 伊人网综合在线 | 法国少妇愉情理伦片 | 伊人影院在线观看 | 美女啪啪一区二区 | 天堂在线观看视频 | 亚洲在线一区二区 | 成人娱乐网 | 色婷婷麻豆 | 国产精品麻豆一区二区三区 | 国产麻豆xxxvideo实拍 | 中文天堂在线视频 | 巨骚综合 | 日韩黄色网址 | 少妇高潮淫片免费观看 | 青青草视频在线观看 | 午夜宫 | 秋霞av在线| 美日毛片| 国产a免费视频 | 亚洲国产精品免费在线观看 | av老司机在线播放 | 国产免费内射又粗又爽密桃视频 | 亚洲视频色图 | 亚洲中文字幕第一区 | 亚州av影院 | 国产青青在线 | 欧洲自拍一区 | 不卡视频一区二区三区 | 国产精品第1页 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 就去色av| 韩国bj大尺度vip福利网站 | 亚洲精品1区2区 | 丁香av | 香蕉视频黄在线观看 | 成人午夜免费毛片 | 91插插插视频 | 91看片看淫黄大片 | 亚洲黄色一区二区 | 97超碰中文字幕 | 中国新婚夫妻性猛交 | 久久久噜噜噜久久中文字幕色伊伊 | 色亚洲欧美 | 亚洲涩涩 | 五月天中文字幕av | 天天干天天操天天拍 | 国产高清视频网站 | 国产欧美日韩三级 | 丁香网五月天 | 国产男人搡女人免费视频 | 成片免费观看视频 | 蜜臀视频在线播放 | 天堂成人国产精品一区 | 欧美性三级 | www国产亚洲精品久久网站 | 亚洲一区二区在线视频 | 91亚洲网| 在线免费观看一区 | 国产视频1区 | 亚洲精品三级 | 人人爽人人爽人人爽人人爽 | 成人动漫在线观看免费 | 日韩中文字幕av在线 | 国产乱码精品一区二区三区中文 | 亚洲精品国产精品国自产在线 | 夜夜精品视频 | 久久99精品久久久久久 | 日韩三区在线观看 | 一级少妇精品久久久久久久 | 亚洲av无码久久精品色欲 | 久久久久中文字幕 | 中文字幕av一区二区三区谷原希美 | 麻豆视频一区 | 国产资源在线免费观看 | 成人小视频免费 | 9色av| 国产91丝袜在线播放0 | 亚洲妇女体内精汇编 | 误杀1电影免费观看高清完整版 | 96视频在线观看 | 成人久久久久久久 | 97超碰人| 色撸撸在线视频 | 日韩午夜激情视频 | 日剧大尺度床戏做爰 | 婷婷激情五月 | 亚洲成人aaa | 亚洲自拍偷拍一区二区三区 | 97福利社|