Review: 4 free, open source management GUIs For MongoDB
Genghis, phpMoAdmin, RockMongo, and UMongo free MongoDB database management from the command line
Once you've selected a collection, new links appear for operating on the collection:
- Insert new object. Click this, and you're taken to a text box where you can enter a new document. You'll notice that the textbox is pre-filled with the text
array(...), which tells you immediately that you have to use the PHP associative array syntax to specify the documents.
- Show indexes. This selection displays those fields for which indexes are currently defined. It also provides a text box for defining a new index for the documents' fields. You can also create compound indexes, and you can specify whether each index component is ascending or descending on a per-field basis.
- Export and Import. These options let you write or read the BSON text (as a *.json file) of database documents. The Export command will write out the results of the currently displayed query. Note that these commands process document definitions in BSON syntax, not the PHP associative array syntax.
- Sort. The Sort menu item will allow you to choose a field and sort the displayed records by that field either in ascending or descending fashion.
- Search. Not to be confused with the Query menu selection, Search lets you pick a single document field from a drop-down control and enter a search value. The result amounts to a find-if-equal query on a single document field.
- Query. Choosing this menu item opens a text box that lets you enter complex query expressions. Note that you have to use the PHP associative array syntax. For example, to locate all documents for which the
isMarriedfield is 1, you'd enter
array("isMarried" => 1).
There is no mechanism for specifying a query's projection document, by which you can limit the result's fields. Also, anything entered in the Search selection (above) narrows the query such that only elements that match the search criteria will be queried.
phpMoAdmin isn't going to win any visual design awards. The arrangement of visual elements, as well as the labeling of controls, is initially confusing. For example, the "Change database" control doesn't change anything -- it selects the current database. Navigation is inconsistent, too. It's frequently unclear what button or link you must push to go back to the previous screen. Sometimes the only cure is to return to the top-most level and drill back down to where you had been.
As is the case with most of the other GUI management tools in this review, phpMoAdmin comes with no significant user's guide. Pretty much all the documentation you'll find is on the product's one-page website. You'll need to explore to discover how different parts of phpModAdmin behave -- such as the unexpected simultaneous effects of Search and Query.
RockMongo: Flexible and extensible
RockMongo is a browser-based management application written in PHP. It requires at least PHP 5 to execute. Beyond that, its only other dependency is the
php_mongo driver (detailed information for which can be found at php.net).
You can configure RockMongo to use either the authentication provided by MongoDB itself or a hard-coded administrator name/password pair in the application's config.php file. (MongoDB authentication, which is disabled by default, stores user credentials in a special "system" collection in the database. Each document in this collection maps user names to user roles.) You'll need to modify config.php in any case to set parameters such as the GUI's theme and the IP address and port of the MongoDB server.