![](/img/trans.png)
[英]mongo aggregate based on conditions to filter the document for versioning
[英]how to aggregate my mongo data based on date filter
我是 mongodb 初學者。 初級 JavaScript 開發人員使用 mongodb/mongoose
我想知道是否有人可以幫助我完成這個簡單的挑戰:我想根據日期對結果進行分組(我可以按日期分組和過濾,但不能同時進行)
架構:
const ExpenseSchema = new Schema({
item: String,
amount: Number,
date: Date,
group: String,
})
在此處輸入代碼
樣本:
{
"_id": {
"$oid": "608c4fd352efae8cc8a10100"
},
"item": "Amril",
"amount": 435.42,
"date": {
"$date": "2018-05-05T11:06:00.000Z"
},
"group": "food",
"__v": 0
}
我的不工作 mongoose 查詢
enter code here
Expense.aggregate([
{
$match:
{
date: { $gt: startDate, $lt: endDate }
}
},
{
$group:
{
_id: '$group',
totalAmount: { $sum: "$amount" }
}
}], function (err, total) {
res.send(total)
})
提前致謝
已解決 - 將查詢更改為:
Expense.aggregate([
{
$match: {
date: { $gt: new Date(new Date(startDate).setHours(00, 00, 00)), $lt: new Date(new Date(endDate).setHours(23, 59, 59)) }
}
},{$group:{
_id:'$group',
amount:{$sum:'$amount'}
}}
], function (err, total) {
res.send(total)
})
})
添加:
{ $gt: new Date(new Date(startDate).setHours(00, 00, 00)), $lt: new Date(new Date(endDate).setHours(23, 59, 59)) }
代替:
{ $gt: startDate, $lt: endDate }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.