以下の集計をmongodb4.0で試すことができます
timestamp
を変換できます 現在まで、 $toDate
集計してから$group
$month
集約
db.collection.aggregate([
{ "$match": { "type": "deposits" }},
{ "$addFields": {
"date": {
"$toDate": "$timestamp"
}
}},
{ "$group": {
"_id": { "$month": "$date" },
"deposits": {
"$push": "$$ROOT"
}
}}
])
以下の集計をmongodb3.4で試すことができます
3.4で timestamp
を変換できます new Date()
を追加して現在まで その中に、 $group
$dateToString
を使用して、
集約
db.collection.aggregate([
{ "$match": { "type": "deposits" }},
{ "$addFields": {
"date": {
"$add": [ new Date(0), "$timestamp" ]
}
}},
{ "$group": {
"_id": {
"$dateToString": {
"format": "%m",
"date": "$date"
}
},
"deposits": {
"$push": "$$ROOT"
}
}}
])