我想从数据库中建立融洽关系。有一个存储订单的数据库。每条记录如下:
{
"_id": {
"$oid": "5ec7916eff6e89814722n4y8"
},
"detais": [
{
"name": "Hood",
"quantity": 2
},
{
"name": "Tire",
"quantity": 4
},
{
"name": "Door",
"quantity": 4
},
{
"name": "Headlights",
"quantity": 3
}
],
"date": {
"$date": "2004-09-29T10:37:45Z"
},
"_class": "com.carShop.Order"
}我需要得到每个细节的数据,按月得到他们的号码如下:
[
{
"date": "2004-09",
"detais": [
{
"name": "Hood",
"quantity": 12
},
{
"name": "Tire",
"quantity": 43
},
...
]
},
{
"date": "2004-10",
"detais": [
{
"name": "Hood",
"quantity": 2
},
{
"name": "Tire",
"quantity": 15
},
...
]
},
....
]任何需要帮助的人。
发布于 2021-06-22 15:41:33
试试这个:
db.collection.aggregate([
{
$group: {
_id: { y: { $year: "$date" }, m: { $month: "$date" } },
detais: { $push: "$detais" }
}
},
{
$set: {
date: {
$dateFromParts: {
"year": "$_id.y",
"month": "$_id.m",
"day": 1
}
}
}
}
])请参阅蒙戈游乐场
https://stackoverflow.com/questions/68086316
复制相似问题