sql >> Databasteknik >  >> NoSQL >> MongoDB

Aggregerad fråga i mongo fungerar, inte i Pymongo

Jag antar att du har en giltig anslutning till MongoDB i Python.
Följande kodsnutt returnerar en MongoDB-markör i result.

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

cursor = collection.aggregate(pipeline)

Nu kan du konvertera cursor till lista

result = list(cursor)

och om du skriver ut resultatets värde får du exakt samma resultat som i din Shell-fråga.

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

Uppdatera :

Jag ser att du anropar aggregate funktion i python-kod som db.docs.aggregate(pipeline) .Du måste kalla det som docs.aggregate... utan db . Se exemplet ovan.



  1. Importera json från fil till mongodb med mongoimport

  2. hur kan jag skriva om min mongoose-fråga efter att ha delat upp data från en modell i två?

  3. Realtidskommunikation mellan app och webbsida

  4. Summa kapslad array i node.js mongodb