その理由は、 $ size
配列集計演算子はMongoDB2.6の新機能であり、実際にはMongoDB2.4を実行しています。
MongoDBサーバーを少なくとも3.0にアップグレードすることをお勧めします。ただし、何らかの理由で今すぐアップグレードしたくない場合は、 $ unwind
「players」配列と $ group
次に「_id」で、 $sumを使用してカウントを返します。コード>
アキュムレータ演算子。
heh = list(db.events.aggregate(
[
{"$match": {"status": 'start'}},
{"$group": {"_id": "$eventName", "players": {"$addToSet": "$uid"}}},
{"$unwind": "$players"},
{"$group": {"_id": "$_id", "Count": {"$sum": 1}}},
]))