var commentSchema = new Schema({
text: String,
actions:[{actionid:String, actiondata:String}],
author: String
})
在获取记录时,我需要计数 action = 1
。我想在每个评论中添加计数作为额外的键,如下所示:
{
"comments":[
{"commentData":{
"text":"temp1",
"author":"tempauthor1",
"actioncount":"2"
}},
{"commentData":{
"text":"temp1",
"author":"tempauthor2",
"actioncount":"3"
}}
]}
我需要这样的 json 响应。请帮忙。
仅过滤 actionid = 1
和 actionid=1
的计数。请尝试通过aggregation
进行操作
Comment.aggregate([{$unwind: '$actions'},
// filter the actionid is 1
{$match: {'actions.actionid': '1'}},
//
{$group: {_id: 'actions.actionid',
actioncount: {$sum: 1}
}}
])
我是一名优秀的程序员,十分优秀!