Memory with MongoDB

Store user memories in MongoDB by passing MongoDb as the agent's database.

Code

mem-mongodb-memory.py
from agno.agent import Agent
from agno.db.mongo import MongoDb

# Setup MongoDb
db_url = "mongodb://mongoadmin:secret@localhost:27017"

db = MongoDb(db_url=db_url)

agent = Agent(
    db=db,
    update_memory_on_run=True,
)

agent.print_response("My name is John Doe and I like to play basketball on the weekends.")
agent.print_response("What do I do on weekends?")

Usage

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Set environment variables

export OPENAI_API_KEY=xxx

Install dependencies

uv pip install -U agno openai pymongo

Run MongoDB

Install Docker Desktop, then start MongoDB on port 27017:

docker run -d \
  --name local-mongo \
  -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
  -e MONGO_INITDB_ROOT_PASSWORD=secret \
  mongo

Run Example

python mem-mongodb-memory.py