【发布时间】:2017-12-07 08:40:55
【问题描述】:
我需要计算一些按 Week 和 year 分组的字段的总和,例如 当 dt_extract 是:02-01-2017 :所以周数是 1 和 2017 年,但我的查询的问题我不知道是 2017 年还是 2016 年,我只是控制一周,但是我需要得到周数和年份来计算我的 Sum 。
var group1 = {
$group :{
_id:{
"$isoWeek": "$dt_extract"},
"Sum_Reliability_Rate_Numerator":{
"$sum":"$mlf16_txfiabnum"
}
}
}
var sort ={
$sort : { _id : -1 }
}
}
db.mplf_tmp_v3.aggregate([group1,sort])
此查询有效,但我找不到哪一年(在我的收藏中,我有 2016 年、2017 年,很快我将获得 2018 年)
我做了这个请求,但没有结果
var match = {
$match : {
"dt_extract": {"$in":
[
"2017-01-02",
"2017-12-04"
]
}
}
}
var group = {
$group :{
"_id":{
"$isoweek" :"$dt_extract" ,
},
"Sum_Reliability_Rate_Numerator":{
"$sum":"$mlf16_txfiabnum"
}
}
}
db.supplierswarnings.aggregate([match,group])
这里是这个集合的文档示例
{
"_id" : ObjectId("5a2813a32539c8990f725a8f"),
"dt_extract" : ISODate("2017-05-14T00:00:00.000+02:00"),
"mlf16_annee" : "2017",
"mlf16_semind" : "19",
"mlf16_semcal" : "19",
"mlf16_cptmag" : "0000900156",
"mlf16_codraft" : "02",
"mlf16_cptfou" : "0000115768",
"mlf16_codadrdl" : "01",
"mlf16_codadres" : "01",
"mlf16_grpges" : "4P",
"mlf16_clasges" : "2",
"mlf16_txservnum" : 1,
"mlf16_txservden" : 13,
"mlf16_txdocnum" : 0,
"mlf16_txdocden" : 1,
"mlf16_txfiabnum" : 0,
"mlf16_txfiabden" : 0,
"mlf16_refret2j" : 1,
"mlf16_refret7j" : 1,
"mlf16_refret21j" : 0,
"mlf16_natcouv" : "0",
"mlf16_nbligndiff" : 0,
"mlf16_nbrefdiff" : 0,
"mlf16_cptfou_six" : "115768",
"dt_year" : 2017
}
【问题讨论】:
标签: mongodb mongodb-query