Alasannya adalah karena $size
operator agregasi array baru di MongoDB 2.6 dan Anda sebenarnya menjalankan MongoDB 2.4.
Saya sarankan Anda memutakhirkan server MongoDB Anda ke setidaknya 3.0. Tetapi jika karena alasan tertentu Anda tidak ingin meningkatkan versi sekarang, Anda perlu $unwind
larik "players" dan $group
oleh "_id" lalu kembalikan hitungan menggunakan $sum
operator akumulator.
heh = list(db.events.aggregate(
[
{"$match": {"status": 'start'}},
{"$group": {"_id": "$eventName", "players": {"$addToSet": "$uid"}}},
{"$unwind": "$players"},
{"$group": {"_id": "$_id", "Count": {"$sum": 1}}},
]))