Сумма из нескольких коллекций в mongodb - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть две коллекции, то есть col1 и col2.
col1 имеет такие поля, как:
_id
пользователь
выплата

Col2 читается как
_id
пользователь
сумма


Я хочу, чтобы вывод был суммой выплаты (от столбца 1) и суммой (от col2)

1 Ответ

0 голосов
/ 09 сентября 2018

почему бы просто не найти данные в обеих коллекциях, а затем передать оба объекта в функцию, которая добавляет к сумме?что-то вроде этого:

var sum = 0; //do this for both collections db.collection.find({}).forEach(function(obj){ sum+=obj.payout; });

, если вы хотите получить общую сумму для каждого другого пользователя, вы можете сделать что-то вроде этого:

var sumForUser = {}; //do this for both collections db.collection.find({}).forEach(function(obj){ if ( sumForUser[obj.user] ) { sumForUser[obj.user] += obj.payout; else sumForUser[obj.user] = obj.payout; });

тогда вы получите объект "sumForUser" с суммой, которую вы хотите для каждого пользователя.это вы были бы «картой» пользователя для суммирования.

это также может быть сделано многими различными способами, включая использование функций приведения и других функций mongoDB, таких как MapReduce и так далее.может быть это может помочь.также это и это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...