猫鼬-组合两个集合,并一起计算集合之一的值

时间:2020-01-17 02:09:02

标签: mongoose collections lookup

猫鼬的新手。我能够获得两个集合并传递可选的匹配值-

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
                ]
        };

谢谢。

0 个答案:

没有答案