Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取错误未知组运算符'$集团';在mongoDB_Javascript_Node.js_Mongodb_Mongoose_Mongodb Query - Fatal编程技术网

Javascript 获取错误未知组运算符'$集团';在mongoDB

Javascript 获取错误未知组运算符'$集团';在mongoDB,javascript,node.js,mongodb,mongoose,mongodb-query,Javascript,Node.js,Mongodb,Mongoose,Mongodb Query,我试图在同一部门中计算不同的(非唯一的)或Emp No,但出现错误 查询失败:未知的组运算符“$group” 这是我的密码 预期产量 [ { "_id": "HUAWEI”, “total”:1 }, { "_id": "THBS”, “total”:2 } ] THB有两种不同的Emp编号A10088P2C和A20088P2C HUAWEI只有一个Emp NoA1016OBW所以,是管道阶段,只能在上层使用 但是对于你所需要的输出,我相信有很多方法, 我们也

我试图在同一
部门中计算
不同的(非唯一的)
Emp No
,但出现错误

查询失败:未知的组运算符“$group”

这是我的密码

预期产量

[
  {
    "_id": "HUAWEI”,
“total”:1
  },
  {
    "_id": "THBS”,
“total”:2
  }
]
THB
有两种不同的
Emp编号
A10088P2C
A20088P2C

HUAWEI
只有一个
Emp No
A1016OBW
所以,是管道阶段,只能在上层使用

但是对于你所需要的输出,我相信有很多方法, 我们也可以这样做:

db.collection.aggregate([
  {
    $group: {
      _id: {
        dept: "$Department",
        emp: "$Emp No"
      },
      total: {
        "$sum": 1
      }
    }
  },
  {
    $group: {
      _id: "$_id.dept",
      total: {
        "$sum": 1
      }
    }
  }
])
在这里,在第一阶段中,我们用
Department
及其
Emp No
进行分组,并计算每个depart中有多少
Emp No
。 [但您可以删除此计数,因为我们不使用它。]

这一阶段的结果将是:

[
  {
    "_id": {
      "dept": "THBS",
      "emp": "A10088P2C"
    },
    "total": 2
  },
  {
    "_id": {
      "dept": "THBS",
      "emp": "A20088P2C"
    },
    "total": 1
  },
  {
    "_id": {
      "dept": "HUAWEI",
      "emp": "A1016OBW"
    },
    "total": 3
  }
]
接下来,在这部分数据的基础上,我将再次分组,其中的dept.以
$\u id.dept
的形式出现,并以相同的方式进行计数,从而以所需的格式给出结果

[
  {
    "_id": "HUAWEI",
    "total": 1
  },
  {
    "_id": "THBS",
    "total": 2
  }
]

不太清楚你想数什么。没有
$group
累加器。可用的蓄能器记录在上。
[
  {
    "_id": "HUAWEI",
    "total": 1
  },
  {
    "_id": "THBS",
    "total": 2
  }
]