sql >> Databáze >  >> NoSQL >> MongoDB

Souhrnný dotaz v mongo funguje, v Pymongo ne

Předpokládám, že máte platné připojení k MongoDB v Pythonu.
Následující fragment kódu vrátí kurzor MongoDB ve result.

pipeline = [
    {"$unwind": "$COL"},
    {"$group": {"_id": "$LOC", "sum": {"$sum": "$COL.amount"}}}
]

cursor = collection.aggregate(pipeline)

Nyní můžete převést cursor do seznamu

result = list(cursor)

a pokud vytisknete hodnotu výsledku, získáte přesně stejný výsledek jako v dotazu Shell.

[{u'sum': 200.0, u'_id': u'User001'}]

Aktualizovat :

Vidím, že voláte aggregate fungovat v kódu pythonu jako db.docs.aggregate(pipeline) .Musíte to nazvat jako docs.aggregate... bez db . Viz příklad výše.



  1. Jak najít podobnost v poli dokumentu MongoDB?

  2. vyhledávání s podmínkou v mangoose

  3. $project v agregaci $lookup

  4. Připojení ke spravovanému redis s auth uživatelským jménem/heslem nodejs