我有一系列不同的项目-
search = alluk.distinct('Object of search')
我希望对每个项目进行计数。目前,我正在像这样手动进行操作-
alluk.find({'Object of search':'Offensive weapons'}).count()
问题
是否可以依次遍历每个项目的搜索数组?
我已经尝试过-
alluk.find({'Object of search':{'$in': search}}).count()
但是,这并不是我所追求的。
解决方案-
for item in alluk.aggregate([
{ '$match': { 'Object of search': { '$in': objectofsearch }}},
{ '$group': {
'_id': '$Object of search',
'count': { '$sum': 1 }
}}
]):
print(item)
答案 0 :(得分:2)
您可以使用$group
聚合来计算不同计数的数量
alluk.aggregate([
{ '$match': { 'Object of search': { '$in': search }}},
{ '$group': {
'_id': '$Object of search',
'count': { '$sum': 1 }
}}
])