Hi everyone,
I’m building a small project management app with MongoDB and wanted to share the idea to get feedback on the data model.
The app is for tracking video editing projects like taht of cepcut, but it does not store the actual video files in MongoDB. It only stores project metadata such as project title, owner, editing stage, export status, asset count, deadline, review notes, and final storage path.
A simplified project document may look like this:
{
“projectId”: “P-1024”,
“ownerId”: “U-481”,
“title”: “Short promo edit”,
“sourceTool”: “free video editor”,
“status”: “in_review”,
“exportStatus”: “pending”,
“durationSeconds”: 58,
“assetCount”: 12,
“createdAt”: “2026-06-10T10:30:00Z”
}
I’m trying to decide whether review comments, export history, and status changes should be embedded inside the project document or stored in separate collections. Each project may have multiple review rounds and several export attempts, so I’m concerned about the document becoming too large over time.
My current idea is:
-
projects collection for the latest project state
-
project_events collection for status changes
-
export_attempts collection for render/export history
-
comments collection for review feedback
Does this structure make sense for a MongoDB-based project tracker, or would embedding some of this data inside the main project document be better?
I’d appreciate any feedback from people who have built similar workflow or project-tracking apps with MongoDB.