Mongodb Aggregation Framework and Python



我有下一个集合:

{"status": "new", "date": {"$date": 1334841845571}, "_id": {"$oid": "4f901223e4b0c2899fb22da0"}, "description": "description 1", "number": "01"}
{"status": "new", "date": {"$date": 1334841845571}, "_id": {"$oid": "4f90126fe4b0c2899fb22da1"}, "description": "description 1", "number": "02"}
{"status": "new", "date": {"$date": 1334841845571}, "_id": {"$oid": "4f901276e4b0c2899fb22da2"}, "description": "description 1", "number": "03"}
{"status": "blocked", "date": {"$date": 1332163445571}, "_id": {"$oid": "4f901286e4b0c2899fb22da3"}, "description": "description 1", "number": "04"}
{"status": "blocked", "date": {"$date": 1332163445571}, "_id": {"$oid": "4f90128ee4b0c2899fb22da4"}, "description": "description 1", "number": "05"}
{"status": "blocked", "date": {"$date": 1332163445571}, "_id": {"$oid": "4f901292e4b0c2899fb22da5"}, "description": "description 1", "number": "06"}

我正在尝试按"状态"列分组:

cursor = db.command('aggregate', table, pipeline=[
            {'$project': {u'date': 1, u'status': 1, u'number': 1, u'description': 1}}
            {'$group': {'_id': u'$status'}}])

但我明白这个:

"ok"
"result"

为什么?

您需要

将这些额外的字段添加到管道中的"$group"命令中,但您需要指定 group 命令应如何聚合它们,因为它不能将它们全部放在一个数组中。请提供您期望的输出。

最新更新