sql >> Database >  >> NoSQL >> MongoDB

Ongeldige operator '$size' in aggregatie

De reden is dat de $size array-aggregatie-operator is nieuw in MongoDB 2.6 en u gebruikt eigenlijk MongoDB 2.4.

Ik raad u aan uw MongoDB-server te upgraden naar minimaal 3.0. Maar als je om de een of andere reden nu niet wilt upgraden, moet je $unwind de "players" array en $group door "_id" en retourneer vervolgens de telling met behulp van de $sum accumulator operator.

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



  1. Mongoezen uitschakelen findAndUpdateById

  2. node js mongodb verwijder foutsleutel $lte mag niet beginnen met '$'

  3. zoek in combinatie twee veld in Mongodb

  4. Laravel Jensseger Mongodb behoortToMany retourneert lege array