PyMongo - Тайм-аут сервера на локальном хосте - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь научиться работать с MongoDB в Python, но каждый раз, когда я запускаю свой код, это занимает столько времени, что мне приходится его убивать, и я получаю эти трассировки.

        "/Volumes/ADATA HD720/flapPY/venv/bin/python" "/Volumes/ADATA HD720/flapPY/Database.py"
Traceback (most recent call last):
  File "/Volumes/ADATA HD720/flapPY/Database.py", line 8, in <module>
    x = high_scores.insert_one(mydict)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/collection.py", line 693, in insert_one
    session=session),
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/collection.py", line 607, in _insert
    bypass_doc_val, session)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/collection.py", line 595, in _insert_one
    acknowledged, _insert_command, session)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1247, in _retryable_write
    with self._tmp_session(session) as s:
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py", line 112, in __enter__
    return next(self.gen)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1576, in _tmp_session
    s = self._ensure_session(session)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1563, in _ensure_session
    return self.__start_session(True, causal_consistency=False)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1516, in __start_session
    server_session = self._get_server_session()
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1549, in _get_server_session
    return self._topology.get_server_session()
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/topology.py", line 427, in get_server_session
    None)
  File "/Volumes/ADATA HD720/flapPY/venv/lib/python3.7/site-packages/pymongo/topology.py", line 208, in _select_servers_loop
    self._condition.wait(common.MIN_HEARTBEAT_INTERVAL)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 300, in wait
    gotit = waiter.acquire(True, timeout)
KeyboardInterrupt

Process finished with exit code 1

Это мойкод:

import pymongo

client = pymongo.MongoClient("localhost", 27017)
database = client["database"]
high_scores = database["highscore"]

mydict = {"highscore" : 5}
x = high_scores.insert_one(mydict)
print(x.inserted_id)

Я считаю, что он не может подключиться к локальному хосту

1 Ответ

0 голосов
/ 25 октября 2018

Очевидно, что mongodb не был запущен на моем ПК.Все, что мне нужно было сделать, это запустить

brew services start mongodb

, и все заработало отлично.

...