Skip to main content
Agno supports using MongoDB as a database with the MongoDb class.
v2 Migration Support: If you’re upgrading from Agno v1, MongoDB is fully supported in the v2 migration script. See the migration guide for details.

Usage

mongodb_for_agent.py
from agno.agent import Agent
from agno.db.mongo import MongoDb

# MongoDB connection settings
db_url = "mongodb://localhost:27017"

db = MongoDb(db_url=db_url)

# Setup your Agent with the Database
agent = Agent(db=db)

Run MongoDB

Install docker desktop and run MongoDB on port 27017 using:
docker run -d \
  --name local-mongo \
  -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
  -e MONGO_INITDB_ROOT_PASSWORD=secret \
  mongo

Params

ParameterTypeDefaultDescription
idOptional[str]-The ID of the database instance. UUID by default.
db_clientOptional[MongoClient]-The MongoDB client to use.
db_nameOptional[str]-The name of the database to use.
db_urlOptional[str]-The database URL to connect to.
session_collectionOptional[str]-Name of the collection to store sessions.
memory_collectionOptional[str]-Name of the collection to store memories.
metrics_collectionOptional[str]-Name of the collection to store metrics.
eval_collectionOptional[str]-Name of the collection to store evaluation runs.
knowledge_collectionOptional[str]-Name of the collection to store knowledge documents.
traces_collectionOptional[str]-Name of the collection to store traces.
spans_collectionOptional[str]-Name of the collection to store spans.