18 releases (11 breaking)

0.15.1 Mar 30, 2025
0.14.1 Mar 24, 2025
0.10.1 Sep 1, 2024
0.10.0 Jul 15, 2024

#113 in Text editors

Download history 3/week @ 2025-02-10 350/week @ 2025-02-17 302/week @ 2025-02-24 195/week @ 2025-03-03 12/week @ 2025-03-10 134/week @ 2025-03-17 255/week @ 2025-03-24 146/week @ 2025-03-31 19/week @ 2025-04-07

556 downloads per month

GPL-3.0 license

1.5MB
7.5K SLoC

tongo -- a TUI for MongoDB

tongo is a fast and keyboard-driven TUI (Terminal User Interface) for MongoDB. Navigate and manipulate your data without leaving your terminal.

Demo

Major Features

  • ๐Ÿ”Œ Connect & save MongoDB connections
  • โšก๏ธ Quickly navigate your data with customizable keybindings
  • ๐Ÿ” Filter your data using Mongo queries
  • ๐Ÿ“ Create and edit documents using your terminal editor of choice
  • ๐Ÿ”Ž Fuzzy search currently-visible data to quickly drill down to what you're looking for
  • ๐Ÿ“‘ Run multiple sessions in tabs for quick data comparisons between collections
  • ๐Ÿ’พ Copy data directly to the system clipboard
  • ๐ŸŽจ Browse your data in style with customizable color themes

Installation

Using cargo

Install Rust and Cargo, then install:

cargo install tongo

Using nix

Install Nix, then clone this repo and install:

git clone git@github.com:drewzemke/tongo.git
cd tongo
nix-build

Then you can move the created binary somewhere on your path:

cp ./result/bin/tongo /usr/local/bin/tongo

Quick Start

  1. Launch tongo in your terminal of choice:
tongo
  1. Start creating a new connection by pressing A
  2. Set a name for the connection and enter your database's connection string
  3. After connecting, select a database and then a connection to connect to
  4. Use the arrow keys to navigate through the data. Press n and p to move between pages

At any time (except when inputting text), you can bring up a commands list by pressing ? that will explain what actions are available to you and what their keybindings are.

Usage

Load a connection directly:

tongo --url mongodb://localhost:27017 

If you've previously stored a connection, you can load it by name:

tongo --connection local

Restore your most-recently-closed session in the app:

tongo --last

Configuration

The first time you run tongo, a config.toml will be created for you in ~/.config/tongo on Mac and Linux and in <your-user-folder>\AppData\Roaming\tongo on Windows. (You can also see that file here.) It contains a full commented-out configuration together with descriptions of each configuration point.

Color Themes

You can fully customize the colors used in tongo's UI to your liking by creating a theme.toml in the same directory as your configuration file. Check out our small themes collection for some examples to get you started.

Contributing

Please open an issue if you run into a problem while using tongo, or if there's a piece of functionality you wish it had! You're also welcome to make changes yourself and open a PR.

Dependencies

~33โ€“52MB
~809K SLoC