クエリがあります $ group を使用すると、「フィールド "$ 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
}
])...
db.faq_feedback.aggregate({
$lookup:{
"from":"faq",
"localField":"question_id",
"foreignField":"_id",
"as":"faq"
}
},
{
$unwind:"$faq"
},
{
$project:{
"question_id":1,
"lang":"$faq.lang",
"feedback":"$faq.feedback",
"question":"$faq.question",
"yes":{
"$cond":[
{
"$eq":[
"$feedback",
"yes"
]
},
1,
0
]
},
"no":{
"$cond":[
{
"$eq":[
"$feedback",
"no"
]
},
1,
0
]
}
}
},
{
$group:{
"_id":"$question_id",
"yes":{
"$sum":"$yes"
},
"no":{
"$sum":"$no"
},
"question":{"$first":"$question"},
"lang":{"$first":"$lang"}
}
},
{
$limit:10000
},
{
$skip:0
})