MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zapytanie zbiorcze w mongo działa, nie w Pymongo

Zakładam, że masz prawidłowe połączenie z MongoDB w Pythonie.
Poniższy fragment kodu zwróci kursor MongoDB w result.

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

cursor = collection.aggregate(pipeline)

Teraz możesz przekonwertować cursor do listy

result = list(cursor)

a jeśli wypiszesz wartość wyniku, otrzymasz dokładnie taki sam wynik, jak w zapytaniu Shell.

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

Aktualizacja :

Widzę, że dzwonisz do aggregate funkcja w kodzie Pythona jako db.docs.aggregate(pipeline) .Musisz nazwać to jako docs.aggregate... bez db . Zobacz przykład powyżej.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak znaleźć określone obiekty zagnieżdżone bez znajomości klucza nadrzędnego w mongodb

  2. Nie udało się uruchomić aplikacji (port 8080) niedostępny

  3. Obsługuj utracone połączenie z mongo db z nodejs

  4. Projekt MongoDB zaktualizował rekord w zagnieżdżonej tablicy w zapytaniu findAndModify

  5. Dokument podrzędny dotyczący wypełnienia mangusty