Google colab本地环境-连接到本地运行的mongodb时出错

时间:2018-12-19 11:52:49

标签: mongodb jupyter-notebook google-colaboratory

我已成功连接到端口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提供的连接本地环境连接到本地数据库

1 个答案:

答案 0 :(得分:0)

您可以尝试通过删除colab来简化设置:使用jupyter前端,相同的笔记本代码在本地jupyter安装上是否可以工作?

一个总的猜测:jupyter运行时在docker容器中运行与mongodb服务器运行时不同吗?如果是,那么您可能需要桥接网络以使其工作,或者告诉两个Docker容器都使用--net = host网络(并确保主机与所有Docker容器之间没有端口冲突)。