Flask-MongoEngine

1.0.0 · active · verified Thu Apr 16

Flask-MongoEngine is a Flask extension that provides seamless integration with MongoEngine for MongoDB object-document mapping and also supports WTF model forms. The current version is 1.0.0. Releases are somewhat infrequent but significant, with major version bumps often including breaking changes related to Python, Flask, MongoEngine, and PyMongo dependency updates.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart sets up a basic Flask application with Flask-MongoEngine, connects to a local MongoDB instance (or one specified by MONGODB_URI), defines a simple 'User' document, and demonstrates creating and retrieving users via a Flask route.

import os
from flask import Flask
from flask_mongoengine import MongoEngine
from mongoengine import Document, StringField, IntField

app = Flask(__name__)

# Configure MongoDB connection
# Use an environment variable for production readiness
app.config["MONGODB_HOST"] = os.environ.get("MONGODB_URI", "mongodb://localhost/testdb")

db = MongoEngine(app)

class User(Document):
    name = StringField(required=True)
    age = IntField()
    meta = {'collection': 'users'}

@app.route('/')
def index():
    # Ensure collection is empty for repeatable test runs
    User.drop_collection()

    # Create a user
    user = User(name="Alice", age=30)
    user.save()

    # Create another user
    User(name="Bob", age=25).save()

    # Find users
    all_users = User.objects.all()
    names = [u.name for u in all_users]

    return f"<h1>Users in MongoDB:</h1><p>{', '.join(names)}</p>"

view raw JSON →