如何按字段汇总集合

时间:2019-09-18 10:49:05

标签: mongodb express aggregate

我收集了一些设备。每个设备都适用于某个组(具有组ID)。在设备集合中,我存储了组的ID。当我想从某个组中获取设备时,可以在查询参数中添加组ID。如何按组ID汇总设备集合?

// I can do something like this, 
exports.getControllers = async (req, res) => {
  const { group } = req.query;
  const findGroup = await Groups.findById(group);
  if (!findGroup) {
    return res.status(400).json({ error: "Такой группы не существует" });
  }
  const {controllers} = findGroup;
  const arrayOfControllers = [];
  for (let i = 0; i < controllers.length; i++) {
    const controller = await Controllers.findById(controllers[i]);
    arrayOfControllers.push(controller);
  }
  return res.status(200).json({ arrayOfControllers })
}


// but I want something like this
Controllers.aggregate([
      {
        $match: {group},
      }
    ], (err, result) => {
      if (err) {
        console.log(err);
      } else {
        console.log(result)
      }
    })

在聚合结果中,我有一个空数组

0 个答案:

没有答案