Mogy Icon

Mogy

A keyboard-driven MongoDB query UI with first-class Vim support

Tauri v2 · React 19 · CodeMirror 6 · Catppuccin Mocha

Mogy Screenshot

Install

One command — downloads the AppImage, sets up icon and app launcher entry:

curl -sL https://raw.githubusercontent.com/minhtranin/mogy/master/install.sh | bash

Installs to ~/.local/bin/mogy. Auto-updates via in-app updater on next launch.

Download Latest View on GitHub

Features

Vim-first Editing

Full vim mode via CodeMirror. jk to exit insert, :w to save, :wqa to save and quit the app.

Keyboard-driven

Navigate everything with j/k, h/l, g/G, and a leader key (Ctrl+Space).

Autocomplete

Collection names and query methods (.find, .aggregate, .updateMany, ...) suggested as you type.

Command Palette

Quick fuzzy access to all actions via Ctrl+Space p. Connections, databases, files, layout — all in one place.

Query Execution

Run .find(), .aggregate(), .updateMany(), .count(), .distinct(), and more with Ctrl+Enter.

Session Persistence

Remembers your last connection, database, collection, editor content, and layout direction across restarts.

Connection Manager

Save and switch between multiple MongoDB connections. Databases and collections are listed for quick selection.

Query Files

Save queries as .mongodb.js files. Load, create, and switch between them. Content persists per file.

Keybindings

Global

Ctrl+EnterRun query
Ctrl+K / Ctrl+HFocus editor
Ctrl+J / Ctrl+LFocus results
Ctrl+Alt+N / Ctrl+Alt+PNext / prev page
?Show keybindings

Leader (Ctrl+Space, then...)

aConnections
dDatabases
oCollections
mToggle maximize
lLoad query file
cNew query file
pCommand palette
EnterToggle fullscreen

Results Panel

Shift+HTable view
Shift+LJSON view
j / kNavigate rows
h / lScroll horizontal
g / GFirst / last row
EnterExpand row detail

Editor

jkExit insert mode
:wSave query file
:wqaSave and quit app

Detail View

:wSave document
:qBack to list
EscBack to list

Modals

j / kNavigate items
EnterSelect item
Esc / Ctrl+[Close modal
Ctrl+N / Ctrl+PNavigate items

All keybindings are overridable via ~/.config/mogy/settings.json

Configuration

Create ~/.config/mogy/settings.json to override defaults. Only specify keys you want to change.

{
  "keybindings": {
    "runQuery": "ctrl+Enter",
    "focusEditor": "ctrl+k",
    "focusResults": "ctrl+j",
    "leader": "ctrl+space",
    "leader.commandPalette": "p",
    "leader.connections": "a",
    "leader.databases": "d"
  }
}

Tech Stack

Frontend

React 19 + TypeScript + Vite

Backend

Rust + Tauri v2

Editor

CodeMirror 6 + @replit/codemirror-vim

Database

MongoDB Rust Driver

Theme

Tailwind CSS + Catppuccin Mocha