Я борюсь с некоторыми функциями агрегации в 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 'тот индекс = " 1 "и время между 10:30:00 и 10:30:32, запрашивая документы коллекции B с индексом" 1 "и временем между 10:30:00 и 10:30:32, а затем суммируют его стоимость как totalCost.
Может ли агрегат mongodb реализовать? Спасибо!