{
"_id" : ObjectId("61a765e6f664eb8f6b12c"),
"details" : [
{
"_id" : ObjectId("60c84d9968c2d100154f3391"),
"expiryDate" : ISODate("2021-06-12T05:30:00.000Z"),
"updatedAt" : ISODate("2021-06-15T06:50:01.046Z"),
"createdAt" : ISODate("2021-06-10T06:50:01.046Z")
},
{
"_id" : ObjectId("60c84d99c2d100154f3391"),
"expiryDate" : ISODate("2021-06-25T05:30:00.000Z"),
"updatedAt" : ISODate("2021-06-15T06:50:01.046Z"),
"createdAt" : ISODate("2021-06-16T06:50:01.046Z")
},
{
"_id" : ObjectId("60c84d9968c20154f3391"),
"expiryDate" : ISODate("2021-06-25T05:30:00.000Z"),
"updatedAt" : ISODate("2021-06-15T06:50:01.046Z"),
"createdAt" : ISODate("2021-06-15T06:50:01.046Z")
}
]
}
我如何撰寫 mongo 查詢來排序和獲取最新日期,然后對其應用日期范圍過濾器
uj5u.com熱心網友回復:
你可以$addFields一個輔助的領域lastCreatedAt使用$max。然后$match在聚合管道中的現場。
db.collection.aggregate([
{
"$addFields": {
"lastCreatedAt": {
$max: "$details.createdAt"
}
}
},
{
"$match": {
lastCreatedAt: {
// input your date range here
$gte: ISODate("2012-06-16T06:50:01.000Z"),
$lt: ISODate("2021-12-30T06:50:01.100Z")
}
}
},
{
$group: {
_id: null,
docs: {
$push: "$$ROOT"
},
numOfLastCreatedAt: {
$sum: 1
}
}
}
])
這是Mongo 游樂場供您參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/372920.html
下一篇:如何從嵌套物件中獲取模型資料
