示例資料
[
{ owner: '0x123124124', createdAt: '13 May 2022 at 04:20:21 UTC'},
{ owner: '0x123124124', createdAt: '13 May 2022 at 06:20:21 UTC'},
{ owner: '0x123124124', createdAt: '13 May 2022 at 03:20:21 UTC'},
{ owner: '0x123124124', createdAt: '12 May 2022 at 07:39:34 UTC'},
{ owner: '0x123124124', createdAt: '12 May 2022 at 07:39:34 UTC'},
{ owner: '0x454545627', createdAt: '11 May 2022 at 04:13:48 UTC'}
]
我想查詢這樣的回傳資料
[
{ owner: '0x123124124', createdAt: '13 May 2022', count: 3},
{ owner: '0x123124124', createdAt: '13 May 2022', count: 2},
{ owner: '0x454545627', createdAt: '11 May 2022', count: 1},
]
我已經用這個四舍五入了幾個小時。感謝幫助。
uj5u.com熱心網友回復:
$setcreatedAt-設定1.1。- 從1.1.1
$trim修剪字串。1.1.1。- 從1.1.1.1
$arrayElemAt獲取第一個值。1.1.1.1。-用單詞“at”
$split分割字串。createdAt$group- 分組owner并createdAt執行計數。$project- 裝飾輸出檔案。
db.collection.aggregate([
{
$set: {
createdAt: {
$trim: {
input: {
"$arrayElemAt": [
{
$split: [
"$createdAt",
"at"
]
},
0
]
}
}
}
}
},
{
$group: {
_id: {
owner: "$owner",
createdAt: "$createdAt"
},
count: {
$sum: 1
}
}
},
{
$project: {
_id: 0,
owner: "$_id.owner",
createdAt: "$_id.createdAt",
count: 1
}
}
])
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474003.html
