Chidu Murthy
Chidu Murthy

Reputation: 688

Google colab local environment - Error connecting to mongodb running locally

I have successfully connected to local environment on Jupyter notebook on port 8888. Now I am trying to query locally running mongodb on port 3001. I am using pymongo and below is my code:

myclient = pymongo.MongoClient("mongodb://localhost:3001")
mydb = myclient["meteor"]
mydoc = mydb["historicalNames"].find({ "Name" : "John Doe"})

print(mydoc)
<pymongo.cursor.Cursor at 0x7f78ff706e80>

But when I try to fetch data using below code

df = pd.DataFrame(list(mydoc))
df.head()

I get the error:

ServerSelectionTimeoutError: localhost:3001: [Errno 111] Connection refused

How to connect to local DB with connect local environment from google colab

Upvotes: 0

Views: 2527

Answers (1)

Ami F
Ami F

Reputation: 2282

You might try simplifying your setup by removing colab: does the same notebook code work on your local jupyter installation using the jupyter front-end?

A total guess: is the jupyter runtime running inside a docker container different to where the mongodb server is running? If yes then you probably need to bridge networks to make it work, or tell both docker containers to use --net=host networking (and make sure there are no port collisions among your host & all docker containers).

Upvotes: 0

Related Questions