Review: 4 free, open source management GUIs For MongoDB

Genghis, phpMoAdmin, RockMongo, and UMongo free MongoDB database management from the command line

Page 2 of 8

The table at the server level shows the number of databases on each server, as well as the space consumed by the databases on that server. At the database level, the table displays a separate row for each database, with a column for the number of collections and a column for the space consumed by each database. Choose a collection, and the subsequent table shows the number of documents in the collection, the number of indexes, and the space consumed.

An Add button appears at each level for creating a new item at that level. For example, on the server level you'll find an "Add server" button (to add an existing server to Genghis's internal server list), on the database level an "Add database" button (to create a new database), and so on.

The rightmost column in every Genghis table is blank. Hover over any row in a table, and a red Remove button appears in that column. This is how you delete elements in Genghis. Move your mouse pointer to the rightmost column of a row in the collections table, click Remove, and you're prompted to remove the corresponding collection.

Review: 4 free, open source management GUIs for MongoDB
Genghis offers a clean, tabular display that's easy to navigate. The software is available in PHP or Ruby.

Many fields in Genghis's tables provide hover-over pop-up windows that display additional information associated with the field. Such fields are identified by dashed underscores. For example, hover over the Size field for a database, and the pop-up shows the average object size, the size of the data component of the database, the size of its index component, and the amount of storage space used by the database.

At the lowest level of object hierarchy in Genghis, the document level, Genghis abandons tables and displays BSON documents in what amounts to a vertical list of group boxes. This display appears when you choose a collection, and Genghis will paginate the documents so that only 50 are displayed at a time. (This number, unfortunately, is not configurable.)

Move your cursor into any document's text box, and Edit and Delete buttons appear in the upper-right corner. Delete is obvious. Click the Edit button, and the group box is converted to a text box, allowing you to modify the document's BSON.

You issue queries via a one-line text box at the top of the documents page. The query text box allows the shorthand of entering just a document ID to fetch individual documents. Alternatively, you can enter standard MongoDB BSON. Beneath the query text box you'll see three horizontal lines. Click those, and the text box expands from one line to five, allowing you to enter more complex queries. However, you can only enter query documents into this text box -- you cannot enter projection documents. In addition, the query text box doesn't handle the display of large queries very well. No scroll bars appear, so it's easy to lose the first and last line above or below the text box's upper or lower borders.

Finally, a drop-down menu next to the "Add collection" button lets you introduce a GridFS collection. Unfortunately, Genghis stumbled altogether at this point. Though we could create a GridFS collection, Genghis displayed "Unknown error" whenever we tried to upload a file into the collection. In addition, even though we could add files to the GridFS collection by other means, Genghis could not even open the fs.files collection. (When you create a GridFS file system in MongoDB, two collections are created. One stores the metadata information about the file including its name, its size, and so on. This is the fs.files collection. The other collection, called fs.chunks, stores the data of the file itself.) Trying to display the contents of fs.files, Genghis would simply lock up, displaying a never-ending progress bar.

Aside from this problem, plus the fact that Genghis has no more documentation than any of the other tools in this review, there's a lot missing from Genghis. It doesn't provide any index management, and it doesn't allow you to enter JavaScript functions, which means you can't issue mapreduce operations. Admittedly, Genghis's author recognizes these limitations; he says Genghis is not meant to be a replacement for the Mongo shell.

Genghis at least deserves praise for its clean interface. But until the issues are ironed out and a bit more functionality is added, I would recommend Genghis only for performing basic MongoDB operations.

| 1 2 3 4 5 6 7 8 Page 2
From CIO: 8 Free Online Courses to Grow Your Tech Skills
View Comments
Join the discussion
Be the first to comment on this article. Our Commenting Policies