Skip to content

Instantly share code, notes, and snippets.

@jakubkulhan
Last active August 29, 2015 13:56
Show Gist options
  • Save jakubkulhan/8793276 to your computer and use it in GitHub Desktop.
Save jakubkulhan/8793276 to your computer and use it in GitHub Desktop.
Co bych chtěl od MongoDB GUI

Co bych chtěl od MongoDB GUI

Zeptal jsem se, jestli existuje pěkný GUI klient pro MongoDB. Moc děkuji @abtris a @OzzyCzech za odpovědi.

Vyzkoušel jsem v rychlosti Mongo Hub i Robomongo. A je to... hrůza. Vždyť jsou ti klienti úplně k ničemu.

Co já chci od MongoDB klienta:

  • Table view. Absolutní nutnost. Rozklikávat si objekty a dívat se na jejich atributy - aka tree view? Jako vážně? Vždyť to je úplně k ničemu, na tohle víc než terminálového klienta nepotřebuji. (Mongo shell má navíc tu fičuru, že ve výchozím stavu má "expand all". Zato v Mongo Hubu i Robomongo se objekty zobrazují sbaleně, a aby toho nebylo málo, nenašel jsem, kde mají tlačítko na expand all.) Robomongo má table view, ale nepodporuje jednu důležitou věc. Pokud je nějaký sloupeček typu objekt, musí být "rozklikávatelný" - tj. možnost rozbalit objekt do více sloupců.
  • ObjectId navigation. Pokud je nějaký atribut typu ObjectId, když na něj poklikám, napoprvé se mě zeptá, k jaké kolekci to patří, a pak mě to bude navigovat k danému objektu. Nejlíp když si zapamatuje, že "tahle kolekce a tenhle atribut" rovná se "odkaz na tuhle kolekci" a bude to příště už dělat automaticky.
  • Inline update. Ne, že na mě vyskočí okýnko, kde bude celý dokument a já zase musím hledat jaký že to chci upravit atribut. Prostě v tabulce poklikám na políčko, udělá se z něj text field a upravuju - kliknu pryč a pošle se do DB update.
  • Výchozí limit 1000. Na lokální databázi je jedno, jestli vrátím 30, 50, nebo 1000 objektů. A sakra, pokud se připojujeme do produkční DB, nejsme na vytáčeném připojení, takže přenášený objem dat je docela non-issue.
  • SSH tunnelling. Příliš jsem nezkoumal, jak na tom Mongo Hub a Robomongo jsou, ale myslím, že tohle podporují. Prostě absolute must, abych mohl prohlížet vzdálený server.
  • Single window mode. Tohle je hlavně výtka vůči Mongo Hubu - aby se všechno otevíralo do nového okna, to je hrůza. S tím prostě neumím pracovat.

Co jsem nepochopil u Robomongo:

  • V levém panelu je tree view databází, kolekcí v nich, funkcí, uživatelů, indexů v kolekcích. Ale ať klikám jak klikám na indexy, nic se neotevře - k čemu to tam potom sakra je?
  • Jak se sputí příkaz. Vážně, nedokázal jsem upravit jendoduchý find(). Až po chvilce laborování jsem objevil, že to udělá Cmd-Enter.
  • Pokud mám nějaký výpis v table view. Upravím query, že nevrátí žádný záznam. Upravím ji znovu, že už vrátí záznamy, ty se zobrazí v tree view.

Co jsem nepochopil u Mongo Hub:

  • Mapreduce. Spustil jsem, domněle z mongo shellu zadáním výstupní kolekce {inline:1}, že mi to něco vrátí. A ono to vytvořilo kolekci {inline:1}. Pak Mongo Hub pro jistotu spadnul.
  • Tree view key-value-type úplně na všecno. I na statistiky serveru - sakra, to se dá reprezentovat trochu hezčeji, ne? A všude se vypisuje typ hodnoty v klíči. Popravdě, tohle mě zas tak nezajímá.
  • Okno pro query/remove/insert/mapreduce/index se neotevře dvojitým poklepáním na kolekci v levém panelu. Musíte kliknout na Query v baru nahoře. Nejen, že to není intuitivní, že se na něco musí klikat v baru. Ale ta položka se tam jmenuje Query a má u sebe symbol lupy. Což by značilo, že to bude jen na query (find) do databáze - ne, že tam bude všechno kolem dané kolekce.

Co dál

Je prostě čas naučit se programovat v Cocoa a udělat něco pořádného, tohle je tristní.

@abtris
Copy link

abtris commented Feb 4, 2014

U RoboMongo 0.8.4 ja tam indexy vidim a mam. Editace nad table view mi funguje dobre. Rozhodne lepsi nez prace s MongoLab.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment