DataLab Docs
  • What is DataLab?
  • Work
    • Creating a workbook
    • Sharing a workbook
    • Managing a workbook
    • Code cell
      • Working with packages
    • Text cell
      • Including images
    • SQL cell
      • SQL scenarios
      • Parameterize your SQL query
    • Explore Data cell
    • Chart cell
      • Configuring your chart
      • Pivot charts
      • Migration guide
    • AI Assistant
    • Version history
    • Scheduled runs
    • Hiding and showing cells
    • Long-running cells
    • Report view
    • Environment variables
    • Git and GitHub
  • Connect to Data
    • Connect your data to DataLab
    • Sharing a Data Source
    • Airtable
    • Amazon Athena
    • Amazon S3
    • Databricks
    • Dropbox
    • Files
    • Google Drive
    • Google BigQuery
    • Google Sheets
    • MariaDB
    • Microsoft SQL Server
    • MongoDB
    • MotherDuck
    • MySQL
    • Oracle Database
    • PostgreSQL
    • Redshift
    • Snowflake
    • Supabase
  • Guides
    • Publish a notebook
    • Importing data from flat files
    • Resizing plots
    • Show Bokeh and Pyvis plots
  • Resources
    • Pricing
    • Manage group settings
    • Reporting for Group Admins
    • DataLab for education
    • Technical requirements
    • Addressing slow code
    • Address R vulnerability
    • Get help
Powered by GitBook
On this page
  • Store MongoDB credentials
  • Query the database
  • Limit allowed incoming IP addresses

Was this helpful?

  1. Connect to Data

MongoDB

PreviousMicrosoft SQL ServerNextMotherDuck

Last updated 1 year ago

Was this helpful?

To work with data in a MongoDB database, you first need to create a set of Environment variables to securely store the connection credentials. Next, you can write some Python code to establish a connection and run queries.

Store MongoDB credentials

Create a new Python workbook (or duplicate this workbook that already has all the Python code you'll need in the next step).

In your new workbook, click on "Environment", and click on "+" next to "Environment variables". You need to create 3 environment variables:

  • MONGO_HOST: Where your MongoDB cluster/database is hosted, e.g. test-cluster.t6rcsje.mongodb.net.

  • MONGO_USER: The username with which to connect to your MongoDB cluster

  • MONGO_PASS: The username's password.

Give a meaningful name to this set of Environment variables, e.g. "MongoDB Cluster". Click Save and continue until your session is restarted to activate these environment variables.

Query the database

Create a new Python cell and include the following code snippet to create a new Mongo client that connects to the database. Notice how the environment variables are fetched from the environment using os.environ.

!pip install pymongo

import os
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi

uri = f'mongodb+srv://{os.environ.get("MONGO_USER")}:{os.environ.get("MONGO_PASS")}@{os.environ.get("MONGO_HOST")}/?retryWrites=true&w=majority'

# Create a new client and connect to the server
client = MongoClient(uri, server_api=ServerApi('1'))

You can now run queries! To start, you can do a ping command to verify that the connection works fine:

try:
    client.admin.command('ping')
    print("Pinged your deployment. You successfully connected to MongoDB!")
except Exception as e:
    print(e)

For a quick overview of what PyMongo enables you to do, check out this comprehensive tutorial. It covers how you can get a database, a collection, find documents, insert documents, and more.

Limit allowed incoming IP addresses

The network calls from the Python or R sessions will always come from one of three fixed, DataCamp-owned IP addresses. You can lock down your MongoDB instance to only accept these IP addresses:

  • 34.194.221.107

  • 34.192.118.171

  • 34.192.199.85

Set up environent variables.