使用Python(Pycharm)在mac上连接MongoDB

2024-05-19 00:45:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Pycharm连接到mac上的MongoDB。我有一个MongoDB的Atlas帐户,还有一个虚拟机(Linux)。我得到以下错误,我不认为这与连接有关,而是Mac上的MongoDB安装问题。我使用该代码并试图通过“Mongo+srv-URI”进行连接,得到下面的错误

我使用brew在终端、MongoDB社区等安装了不同版本的MongoDB。如果有人有任何想法,那将是一个很大的帮助

MacOSCatalina,10.15.7。我目前已安装Mongo shell:

MongoDB shell version v4.2.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("6a310523-2d54-4f4a-b70c-697429ed25ef") }
MongoDB server version: 4.4.1
WARNING: shell and server versions do not match
import pymongo
from pymongo import MongoClient
import dns

client = MongoClient('192.168.56.30', 27017)

db = client.test_database

collection = db.test_collection

import datetime
post = {"author": "Mike",
    "text": "My first blog post!",
    "tags": ["mongodb", "python", "pymongo"],
    "date": datetime.datetime.utcnow()}

posts = db.posts
post_id = posts.insert_one(post).inserted_id  #after this, you get "statement seems to have no effect"
post_id

Traceback (most recent call last):
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3418, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-11-caf04adc7485>", line 1, in <module>
    post_id = posts.insert_one(post).inserted_id
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/collection.py", line 701, in insert_one
    session=session),
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/collection.py", line 615, in _insert
    bypass_doc_val, session)
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/collection.py", line 603, in _insert_one
    acknowledged, _insert_command, session)
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1497, 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 "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1829, in _tmp_session
    s = self._ensure_session(session)
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1816, in _ensure_session
    return self.__start_session(True, causal_consistency=False)
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1766, in __start_session
    server_session = self._get_server_session()
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/mongo_client.py", line 1802, in _get_server_session
    return self._topology.get_server_session()
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/topology.py", line 488, in get_server_session
    None)
  File "/Users/Graeme/Documents/NCI/Project/venv/lib/python3.7/site-packages/pymongo/topology.py", line 217, in _select_servers_loop
    (self._error_message(selector), timeout, self.description))
pymongo.errors.ServerSelectionTimeoutError: 192.168.56.30:27017: timed out, Timeout: 30s, Topology Description: <TopologyDescription id: 5fc8ea820dbfa3f7af8ea3ac, topology_type: Single, servers: [<ServerDescription ('192.168.56.30', 27017) server_type: Unknown, rtt: None, error=NetworkTimeout('192.168.56.30:27017: timed out')>]>

```



Tags: inpyprojectvenvsessionlibpackagesline

热门问题