Back to blog
Published on Wednesday, January 29, 2025
How to Connect Flask App to MongoDB Database
Posted by

Video Tutorial
Prerequisites
Before starting, ensure you have the following:
- Python installed on your machine (preferably version 3.6 or later)
- A MongoDB instance (You can use a local MongoDB installation or a cloud provider like MongoDB Atlas)
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.