Пн goose - объединение двух коллекций и вычисление одного из значений коллекций вместе - PullRequest
0 голосов
/ 17 января 2020

Новое в пн goose. Мне удалось получить две коллекции и передать необязательное значение совпадения -

const lookup = {
  from: 'collection1',
  localField: '_id',
  foreignField: 'collection2_id',
  as: 'field'
};


Collection1Schema.aggregate()
      .lookup(lookup)
      .match(query);

Показывает ожидаемый результат. И как вы думаете, матч будет работать здесь? Я хочу использовать match как find(), где вы можете передать любой объект, и он найдет для вас.

Итак, теперь, пока выполняется запрос, я хочу вычислить некоторые значения в collection2 и вернуть это вместо этого результат вычисления.

вычисление будет похоже на (key1-key2)/(key3-key4). Можно ли передать пользовательскую функцию для выполнения этой работы?

Итак, это будет выглядеть следующим образом.

Вывод

    Collection1   {
          abc: 'value',
          bde: 'value',
          field: [ // collection2              
            { c: 'value', d: 'value', rate: 38 }, // rate after `(e-f)/(g-h)` calculation
            { c: 'value', d: 'value', rate: 38 } // rate after `(e-f)/(g-h)` calculation
             { c: 'value', d: 'value', rate: 38 } // rate after `(e-f)/(g-h)` calculation
                ]
        };

Спасибо .

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