Агрегация Mongodb в Python : невозможно выбрать объект 'SSLContext'

Мне нужно найти количество одинаковых групп (например, количество товаров одного цвета или одной цены), и я пытаюсь сделать агрегирование с помощью '$group'.

result = collection.aggregate(
                            [
                            {
                                "$group" : {"_id":group_aggregation_format, "count": 
                                           {"$sum":1}}
                            }
                            ])
print(result)

group_aggreagtion_format - это данные типа {'title': '$title', 'color': '$colour'}

Затем я получаю эту ошибку

| INFO:dill:# T4
web_1            | D2: <dict object at 0x7efec3bfbe40>
web_1            | INFO:dill:D2: <dict object at 0x7efec3bfbe40>
web_1            | T4: <class 'pymongo.client_options.ClientOptions'>
web_1            | INFO:dill:T4: <class 'pymongo.client_options.ClientOptions'>
web_1            | # T4
web_1            | INFO:dill:# T4
web_1            | D2: <dict object at 0x7efec3c13dc0>
web_1            | INFO:dill:D2: <dict object at 0x7efec3c13dc0>
web_1            | T4: <class 'pymongo.common._CaseInsensitiveDictionary'>
web_1            | INFO:dill:T4: <class 'pymongo.common._CaseInsensitiveDictionary'>
web_1            | # T4
web_1            | INFO:dill:# T4
web_1            | D2: <dict object at 0x7efec3b84f00>
web_1            | INFO:dill:D2: <dict object at 0x7efec3b84f00>
web_1            | D2: <dict object at 0x7efec3a79240>
web_1            | INFO:dill:D2: <dict object at 0x7efec3a79240>
web_1            | # D2
web_1            | INFO:dill:# D2
web_1            | D2: <dict object at 0x7efec3bbfc40>
web_1            | INFO:dill:D2: <dict object at 0x7efec3bbfc40>
web_1            | # D2
web_1            | INFO:dill:# D2
web_1            | # D2
web_1            | INFO:dill:# D2
web_1            | T6: <class 'pymongo.auth.MongoCredential'>
web_1            | INFO:dill:T6: <class 'pymongo.auth.MongoCredential'>
web_1            | # T6
web_1            | INFO:dill:# T6
web_1            | T4: <class 'pymongo.auth._Cache'>
web_1            | INFO:dill:T4: <class 'pymongo.auth._Cache'>
web_1            | # T4
web_1            | INFO:dill:# T4
web_1            | D2: <dict object at 0x7efea14a0c80>
web_1            | INFO:dill:D2: <dict object at 0x7efea14a0c80>
web_1            | # D2
web_1            | INFO:dill:# D2
web_1            | T4: <class 'pymongo.pool.PoolOptions'>
web_1            | INFO:dill:T4: <class 'pymongo.pool.PoolOptions'>
web_1            | # T4
web_1            | INFO:dill:# T4
web_1            | D2: <dict object at 0x7efea1524d80>
web_1            | INFO:dill:D2: <dict object at 0x7efea1524d80>
web_1            | cannot pickle 'SSLContext' object

Есть ли у вас идеи, что я делаю неправильно? Может быть, дело в том, как я делаю агрегацию? Заранее спасибо!!!

Почти наверняка дело не в запросе как таковом; проблема в том, как вы создаете соединение (MongoClient).

pymongo не устанавливает соединение с сервером, пока вы не выполните первую команду базы данных, поэтому, хотя ошибка возникает в команде aggregate, проблема находится дальше по течению в вашем коде.

Вернуться на верх