我已成功连接到端口8888的Jupyter笔记本上的本地环境。现在,我试图查询端口3001上本地运行的mongodb。我正在使用pymongo,以下是我的代码:
myclient = pymongo.MongoClient("mongodb://localhost:3001")
mydb = myclient["meteor"]
mydoc = mydb["historicalNames"].find({ "Name" : "John Doe"})
print(mydoc)
<pymongo.cursor.Cursor at 0x7f78ff706e80>
但是当我尝试使用以下代码获取数据时
df = pd.DataFrame(list(mydoc))
df.head()
我得到了错误:
ServerSelectionTimeoutError:本地主机:3001:[Errno 111]连接被拒绝
如何使用Google Colab提供的连接本地环境连接到本地数据库
答案 0 :(得分:0)
您可以尝试通过删除colab来简化设置:使用jupyter前端,相同的笔记本代码在本地jupyter安装上是否可以工作?
一个总的猜测:jupyter运行时在docker容器中运行与mongodb服务器运行时不同吗?如果是,那么您可能需要桥接网络以使其工作,或者告诉两个Docker容器都使用--net = host网络(并确保主机与所有Docker容器之间没有端口冲突)。