node.js - 如何仅显示同一属性 Handlebars 的一个数据?
问题描述
所以我有这个数据:
{
item: "paint",
unit: "4",
price: "15",
date : ISODate("2020-06-22T07:30:09")
}
{
item: "paint",
unit: "1",
price: "5",
date : ISODate("2020-06-22T07:30:15")
}
{
item: "glue",
unit: "2",
price: "9",
date : ISODate("2020-06-22T07:30:16")
}
我的模板是这样的:
{{#costs}}
<p>{{item}} = {{unit}}</p>
{{/costs}}
结果会是这样的:
paint = 4
paint = 1
glue = 2
我的问题是,如何只显示一个具有相同属性名称(项目)的数据?所以我可以实现这样的目标:
paint = 5
glue = 2
解决方案
您需要聚合管道来对项目进行分组并进行 $sum。在求和之前也将其转换为整数。
db.test.aggregate([{ $group: { _id: "$item", totalUnits: { $sum: {$toInt: "$unit"} } } }])
上面的查询会给你结果:
{ "_id" : "paint", "totalUnits" : 5 }
{ "_id" : "glue", "totalUnits" : 2 }
推荐阅读
- python - 检查包装的 Python 函数是否像函数一样可调用
- html - 如何使文本位于图像的底部?
- java - Why is Coordinate layout ( CL )hiding half of the floating action button when the height of CL is set to wrap_Content?
- angular - ion-select-option selected attribute doesn't work
- ios - Finding a view of certain type within a parent
- node.js - express + socket.io + kubernetes Access-Control-Allow-Origin' header
- python-3.x - 有没有办法使用def列出从最小到最大的python数字?不使用 python 内置函数
- javascript - 你怎么知道 JavaScript 浮点数何时不会被舍入?
- python - 如何创建带有列表列表的字典?
- javascript - 如何制作持久 PWA 缓存?