/mongo-gui

Simple web app to browse a MongoDB database and make changes to it. With user access management.

Primary LanguageSvelteApache License 2.0Apache-2.0

MongoGUI

A simple web app to browse through and query MongoDB databases.

With user access management.

I built this app to be able to more easily manage access of certain users to the database. Because it now does almost the same as other MongoDB explorers, I just use is as a simple explorer myself. Feel free to contribute to it if you think it is missing something :)

Features

  • Browse through databases, collections, and documents
  • Expandable documents for better readability
  • Run queries on collections including projection and limit fields
  • Update queried documents by clicking on their values
  • Replica set support
  • Remembers last used query per collection
  • Installable as a PWA
  • Discord webhook support for logging queries by users
  • Custom branding name
  • User access management
    • Add unlimited web app users (without creating database users)
    • Allow users which databases to access (only read or read/write)
    • Decide which collections to show/hide from each user
    • Limit users amount of read/write queries per 24 hours per database

Preview

Missing / TODO

  • Support for inserting new documents
  • Support for deleting documents
  • Support for running queries like in shell (including aggregation)
  • Support for other value types (apart from String, Int, Float, Boolean, Array and Object)
  • Increasing user limits for one day upon request

Installation

  1. Install bun from bun.sh
  2. Clone repository: git clone https://github.com/xgedev/mongo-gui
  3. Install dependencies: bun install and npm install bcrypt
  4. Create a .env file fill it with your data
  5. Build the app: bun run build (after setting .env file)
  6. Run the app: HOST=localhost PORT=3000 node build
  7. Default user credentials: admin / admin

Update on new release

  1. Pull the latest changes: git pull
  2. Install dependencies: bun install
  3. Build the app: bun run build