MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Обобщената заявка в mongo работи, но не в Pymongo

Предполагам, че имате валидна връзка към MongoDB в Python.
Следният кодов фрагмент ще върне MongoDB курсор в result.

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

cursor = collection.aggregate(pipeline)

Сега можете да конвертирате cursor към списък

result = list(cursor)

и ако отпечатате стойността на резултата, ще получите точно същия резултат като във вашата заявка за Shell.

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

Актуализация :

Виждам, че извиквате aggregate функция в кода на Python като db.docs.aggregate(pipeline) .Трябва да го извикате като docs.aggregate... без db . Вижте примера по-горе.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB заявка за документ, по-стар от 30 секунди

  2. MongoDB Отдалечена връзка с php

  3. Библиотека JasperReports и MongoDB

  4. Запитване за вложени вградени документи с Mongoose

  5. Грешка в Mongodb:Позиционният оператор не намери необходимото съвпадение от заявката