Back to blog

Published on Wednesday, January 29, 2025

How to Connect Flask App to MongoDB Database

How to Connect Flask App to MongoDB Database

Video Tutorial

Prerequisites

Before starting, ensure you have the following:

Step 1: Install Dependencies

Install Flask-PyMongo to connect Flask with MongoDB:

pip install Flask-PyMongo

Step 2: Configure Flask-Pymongo

Create app.py with the following code:

from flask import Flask
from flask_pymongo import PyMongo

# Creating a Flask app instance
app = Flask(__name__)

# Configure MongoDB Connection URI
# NOTE: Change URI for MongoDB Atlas
app.config["MONGO_URI"] = "mongodb://localhost:27017/test"

# Creating a PyMongo Instance
mongo = PyMongo(app)

if __name__ == "__main__":
    # Run the app in debug mode
    app.run(debug=True)

Step 3: Test the MongoDB Connection

Now, test the connection by adding a few routes. The first will confirm the connection, and the second will allow you to add and retrieve users.

from flask import request, jsonify

# Test connection
@app.route("/")
def home():
    return "Connected to MongoDB!"

# Add a user
@app.route("/users", methods=["POST"])
def add_user():
    users = mongo.db.users
    users.insert_one({
		    'username': request.json["username"], 
				'email': request.json["email"]
		})
    return jsonify({"message": "User added!"}), 201

# Get users
@app.route("/users", methods=["GET"])
def get_users():
    users = mongo.db.users.find()
    return jsonify(
		    [{
				    "username": user["username"], 
						"email": user["email"]
				} for user in users]
		)

Step 4: Run the App

Start your Flask app:

python app.py

Visit http://127.0.0.1:5000 to see it in action!

Conclusion

That’s it! You've successfully connected Flask to MongoDB. You can now perform basic operations like adding and retrieving users.