【发布时间】:2021-07-30 23:02:27
【问题描述】:
我是 mongodb 初学者。使用 mongodb/mongoose 的初级 JavaScript 开发人员
我想知道是否有人可以帮助我应对这个简单的挑战:我想根据日期对结果进行分组(我可以按日期分组和过滤,但不能同时进行)
架构:
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
}
我不工作的猫鼬查询
enter code here
Expense.aggregate([
{
$match:
{
date: { $gt: startDate, $lt: endDate }
}
},
{
$group:
{
_id: '$group',
totalAmount: { $sum: "$amount" }
}
}], function (err, total) {
res.send(total)
})
提前致谢
【问题讨论】:
-
看到类似的问题mongodb group values by multiple fields你试试
$group: { _id; { group: "$group", date: "$date" }, .. } -
您想根据
date and group fields对数据进行分组吗? -
是的,我想对给定日期之间所有费用的总和进行分组。
标签: javascript mongoose mongodb-query