try{
Staff.aggregate(
{$group:{_id:{name:"$name",age:'$age'},total:{$sum:1}}},
{$match:{total:{$gt:1}}}
, modelHelper.mergeStaffCallBack);
}catch (err) {
console.log(err);
}
这是mongoshell中的等效查询。
db.staffs.aggregate([
{
$group:{
_id:{name:"$name",age:'$age'},
total:{$sum:1}
}
},
{
$match:{
total:{ $gt: 1 }
}
}
]);
成功执行。我无法在上面的nodejs代码中发现错误。捕获捕获了错误
"错误:参数必须是聚合管道运算符"。
有人可以开导我吗?
答案 0 :(得分:1)
管道阶段是数组中单独的BSON文档:
这是正确的
try{
Staff.aggregate(
[{$group:{_id:{name:"$name",age:'$age'},total:{$sum:1}}},
{$match:{total:{$gt:1}}}]
, modelHelper.mergeStaffCallBack);
}catch (err) {
console.log(err);}