sql >> Database teknologi >  >> NoSQL >> MongoDB

Ugyldig operator '$size' i aggregering

Årsagen er, at $size array aggregation operator er ny i MongoDB 2.6, og du kører faktisk MongoDB 2.4.

Jeg foreslår, at du opgraderer din MongoDB-server til mindst 3.0. Men hvis du af en eller anden grund ikke ønsker at opgradere nu, skal du $unwind "players"-arrayet og $group ved at "_id" returner derefter optællingen ved hjælp af $sum akkumulatoroperatør.

heh = list(db.events.aggregate(
    [
        {"$match": {"status": 'start'}},
        {"$group": {"_id": "$eventName", "players": {"$addToSet": "$uid"}}},
        {"$unwind": "$players"},
        {"$group": {"_id": "$_id", "Count": {"$sum": 1}}},
    ]))



  1. Mongodb MapReducer ydeevnen ved hjælp af indekser

  2. mongodb connect ved hjælp af php

  3. MongoParseError:muligheder useCreateIndex, useFindAndModify understøttes ikke

  4. Forespørgsel efter en række arrays i MongoDB