3

我有一系列不同的项目 -

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)
4

1 回答 1

2

您可以使用$group聚合来计算不同计数的数量

alluk.aggregate([
  { '$match': { 'Object of search': { '$in': search }}},
  { '$group': {
    '_id': '$Object of search',
    'count': { '$sum': 1 }
  }}
])
于 2019-05-04T13:47:50.283 回答