【发布时间】:2020-07-23 20:58:45
【问题描述】:
我正在努力使用 mongodb 中的一些聚合函数。
假设我在两个集合中有一些这样的文档:
集合 A:
{index: "1", time: 10:30:00, value: 12}
{index: "2", time: 10:30:20, value: 11}
{index: "1", time: 10:30:32, value: 15}
{index: "2", time: 10:31:05, value: 13}
{index: "1", time: 10:31:40, value: 14}
{index: "2", time: 10:31:43, value: 10}
集合 B:
{index: "1", time: 10:30:10, cost: 10}
{index: "2", time: 10:30:15, cost: 12}
{index: "1", time: 10:30:30, cost: 8}
{index: "2", time: 10:30:50, cost: 9}
{index: "1", time: 10:31:10, cost: 10}
{index: "2", time: 10:31:23, cost: 11}
我想返回这个:
{index: "1", value: 12, totalCost: 18}
{index: "1", value: 15, totalCost: 10}
{index: "1", value: 14, totalCost: 0}
{index: "2", value: 11, totalCost: 9}
{index: "2", value: 13, totalCost: 9}
{index: "2", value: 10, totalCost: 11}
结果的{index: "1", value: 12, totalCost: 18}意思是:
根据集合A的index=“1”的文档,时间在10:30:00到10:30:32之间,查询集合B的文档index=“1”,时间在10:30:00到10:30:00到10:30:32 然后将其成本加总为totalCost。
mongodb聚合可以实现吗?谢谢!
【问题讨论】:
标签: mongodb aggregation-framework aggregate