Mat*_*eus 6 mongoose mongodb aggregation-framework
我有一个查询,当我使用$ group时,错误显示“字段“ $ name必须是一个累加器对象”,如果删除归档的“ $ name”则一切正常,而我尝试仅使用“ name”的“ $ name”,错误继续。
User.aggregate([
{
$match: {
"storeKey": req.body.store
}
},
{
$group: {
"_id": "$_id",
"name": "$name",
"count": {
"$sum": 1
},
"totalValue": {
"$sum": "$value"
}
}
},
{
$sort: sort
},
{
$skip: req.body.limit * req.body.page
},
{
$limit: req.body.limit
}
])...
Run Code Online (Sandbox Code Playgroud)
有些聚合运算符只能在$group聚合中使用,并命名为$group accumulators
就像您$sum在这里使用的一样,您也必须使用name钥匙
{ "$group": {
"_id": "$_id",
"name": { "$first": "$name" }, //$first accumulator
"count": { "$sum": 1 }, //$sum accumulator
"totalValue": { "$sum": "$value" } //$sum accumulator
}}
Run Code Online (Sandbox Code Playgroud)
累加器就像元素数组一样,其累加为数组。$ first->给出名称组中的第一个名称
示例:因此,如果您使用$_id相同但不同的名称,则["Darik","John"]
指定的名称$first将为Darik,类似的名称$last将为John
| 归档时间: |
|
| 查看次数: |
10027 次 |
| 最近记录: |