La raison est que $size
L'opérateur d'agrégation de tableau est nouveau dans MongoDB 2.6 et vous exécutez actuellement MongoDB 2.4.
Je vous suggère de mettre à niveau votre serveur MongoDB vers au moins 3.0. Mais si pour une raison quelconque vous ne souhaitez pas mettre à niveau maintenant, vous devrez $unwind
le tableau "players" et $group
par "_id" puis renvoyez le nombre en utilisant le $sum
opérateur d'accumulateur.
heh = list(db.events.aggregate(
[
{"$match": {"status": 'start'}},
{"$group": {"_id": "$eventName", "players": {"$addToSet": "$uid"}}},
{"$unwind": "$players"},
{"$group": {"_id": "$_id", "Count": {"$sum": 1}}},
]))