![]() |
MongoCola is the tool which will help you manage MongoDB
easily. With the helping of this tool you can : Create or Drop Database,Collect or Document Element by GUI interface. Monitor the realtime status of MongoDB . Run Shell functions without remembering the command syntax. Import Data from Access Database (Windows OS Only) This tool will be migrated to Mono platform for Linux OS as soon as possible :) In order to prevent GUI problem and migrated to Mono easliy,skin system is removed :( This product is FREE. |
Source Code |
|
You can download the source code from GitHub:
Source @GitHub Report bugs,give advice Here:Issues Welcome to join the develop team. |
|
Executable File | |
You can download the Executable File [ZIP package]from
GitHub: Downloads
@GitHub Anyone can help me to compile the source code on Mono platform? I need an executable file for linux. please email me: email address |
|
Software Requirements | |
MongoCola is a Windows® desktop Client/GUI application.
To run properly you must have one of these versions of .NET Framework installed:
|
|
About This Document | |
Thanks MoLing for help me correct this document. Thanks zTree Jquery Plugin http://www.baby666.cn/v3/main.php#_zTreeInfo Thanks 10gen for C# Driver Thanks friends @ www.Cnblogs.com for advice,test,supports Last Editor:2012-04-15 |
|
Release Note | |
======================================================================== MongoCola Release Note ======================================================================== MongoCola is developed by Microsoft .NET (C#) You need install .NET framework3.5 to run it. The C# Mongo driver is mongo offical C# driver 1.4.1. Test Based on MongoDB 2.0.4 MongoCola is free and open source. ======================================================================== Release History ======================================================================== Ver 1.22 2012/04/15 1.Show the process at status bar when import data from Access And Upload Folder 2.Fix the bug of delete document.Now only the record has a _id ObjectKey can be delete. 3.DirectorySeparatorChar can be customize. ======================================================================== Ver 1.21 2012/04/08 [First Version @Accenture CDC] WebForm 1.You can select a connection at connection list page to jump to connection detail page. 2.Show Connection Status when click the connection node. 3.Show Database Status when click the database node. 4.Show Collection records when click the collection node. Main form: 1.Display server role before connection name at node text. ======================================================================== ======================================================================== Ver 1.20 2012/03/31 [Last Version @IBM GDC] C# Driver: upgrade to C# offical driver 1.4.1 Main form: 1.Replset,Cluster will show member server at treeview. 2.Fix the bug : when disconnect a connection witch can't be connected a exception happened. 3.Close ViewTabs of collection when the database witch the collection belongs to is droped. Connection Config: 1.Add some argument of connection,eg.connectionTimeout. 2.Connection name is editable. GFS View: 1.Add Content-Type List (windows only) 2.Collection fs.chunk is shown at collection list 3.Now you can delete multi Files. 4.Upload Folder can select if subfolder is ignor or not. Replset and sharding Manger 1.Redesign the way to manage the replset and sharding. 2.Skip EndOfStreamException. Others 1.If getStatus exception happend,stop the auto refresh to avoid endless exception. 2.fixed the bug that the userform show confirmbox instead of messagebox. ======================================================================== Ver 1.13 2012/03/23 All: 1.Add Icon to form. 2.Set all popup window's FormBorderStyle to FormBorderStyle.FixedSingle; Main: 1.Put count,distinct,group,mapreduce menuitme to Aggregation 2.Fix the bug when a server is shutdown by this application,the serverlist is not update GFS: 1.Upload Folder 2.Before Upload file,let user choose what to do if file is existed. 3.The remote filename can be the name or Fullname of a localfile Collection DataView 1.Set start position when view data records 2.New TreeListView for show data records 3.Fixed the bug,if the KEY_ID field is not the first item of the document. 4.Add new document by json String. 5.Fixed the display field bugs of datafilter 6.Make the KEY_ID field always IsShow to true. Connection List 1.Double Click to start at connection list form. MessageBox 1.Make the visualStyle of Messagebox better. ======================================================================== Ver 1.10 2012/03/16 System: 1.Set all popup form backcolor to white. 2.Add some Language Resource Main Form: 1.DataView Refresh function 2.Add Tooltips to Dataview and Collection Nodes Status Control: 1.Fixed Sort Bug at Collection Status 2.Fixed the bug while the user login without admin auth. Thanks to mailto:mail.james@qq.com to report the bug DataView Control: 1.Fixed "Open File in Editor" can't be use after DataView is refreshed. 2.Use Offical C# Driver .ToJson() for textview Connection List Form: 1.Fix the bug if there is no connection is selected,the form can't close by click Ok button 2.Change the command Text "Cancel" to "close" Add Connection 1.Fix bug:The ConnectionString will not be remove in config file. 2.Add "Test" Function to test a connection is enable or not. ======================================================================== Ver 1.10(Beta) 2012/03/16 1.Multi Collection View is ready. 2.Divide all collections into GFS,Javascript,User,Gerneral Collections,System Collections 5, Groups 3.Add comfirm password at "Add New User" form. 4.Add some icons. 5.Add sort function to file list view. 6.Change user password and readonly. 7.DataBase profilling level function. 8.Create/Drop Javascript 9.Records count at display at perpage can be set at dataview. 10.Capped Collection Restrictions. ======================================================================== Ver 1.05 2012/03/10 1.Change the Name of ClusterInfo to CurrentOperationInfo. 2.Add Switch Auto Refresh Botton at Status form. 3.Modify the way of get the total count of a collection,and the performance is up.Thanks to Shadower (cnblogs.com). 4.Fixed Some bugs in GUI 5.Modify repairDatabase from "compact" Command to "repairDatabase" Command. 6.Catch TimeOut Exception When Run Command ======================================================================== Ver 1.04 2012/03/07 1.Open In Native Editor at Textview 2.Compact Collection 3.Advance options for Create a Collection 4.Show Server Status at Mainform 5.Add View ToolStrip and move DataNav to View Toolstrip. 6.Fix display bug at connection list form. 7.Change Online userguide to local 8.Fix the bug that the icon of treeview can't be display when the config.xml file not exist. ======================================================================== Ver 1.03 2012/01/13 1.Set All Form's FontSize to 9.75pt. 2.Show CommandText After a command is completed. 3.Clear Navi Record Label After Clear. 4.Fix a bug when show fileInfo at TableView 5.Fix a bug when add a connection by use a ConnectionString 6.Modify Repair Database Enable condition. ======================================================================== Ver 1.02 2012/01/04 1.Display "English" at Language Picker form instead of Space when default Language is used. 2.Show Connection Host and Port at Connection ListBox. 3.Array Operation is supported. 4.BsonDocument Element is supported. 5.Correct Paste ShortKey form Ctrl + P to Ctrl + V. 6.Show Message When exception happend at Element operation. ======================================================================== Ver 1.01 2011/12/27 1.Add Chinese and Japanese Language File 2.Make Status Form Sizable ======================================================================== Ver 1.00 2011/12/22 This is the first release of MongoCola. ======================================================================== |
Startup |
|
As it is the first time you run this application,a language picker form
will popup: If English is your mother tongue,you can Click "OK" directly Chinese and Japanese is provide with MongoCola Version 1.01 After language picker,you need to tell application where is your mongo executable path. In this Tutorial,the mongo executable path is C:\runmongo\bin If the mainform shown as below,the application is started up successfully . |
|
Add Connection | |
The first thing to operate the mongoDB is adding a MongoDB connection. Please make sure that the mongo server has been startup before adding connection. You can startup mongoDB by DOS console like this: cd C:\runmongo\bin
More reference @mongodb.org:Quickstart Windows [A Mongo connection is not only a single server,but also a replset,a route or config server in sharding system] Open the Connection Manager form by menu: Managerment -> Connection Manager: This form will list up all connections that you has registered in the application. The list is empty when the first time you use this application,. Click "Add" to register a new connection. The simplest connection only need to fill 3 fields
Pick the connection you registered right now, then click "OK".Now you can operate the mongo server. All Status need to be refreshed manually in Mainform.(In status form,the some status will refresh automaticlly) You can collapse or expansion the treeview by MenuItem:
|
|
Try WebForm |
|
Click "MongoCola Web Form",then you can try the use MongoCola at your browser.
Click a connection , jump to the connection detail page. At connection detail page,you can click connection node and database node to see the status,or click the collection node to see records in the collection. |
|
Master-Slave |
|
This application support to manage a Master-Slave server.
Start a master server. Master can be startup by Dos console like: cd C:\runmongo\bin
Start a slave server. Slave can be startup by Dos console like: cd C:\runmongo\bin
You must select the SlaveOK checkbox if the server is a slave server. |
|
Replset |
|
This application support to manage a Replset server. If you have a replset consist of 2 server:
cd C:\runmongo\bin
cd C:\runmongo\bin
Connection name is need at basic tab.(Skip Host and port) Add Host list at replset tab. if every thing is ok,the main gui will look like this.(Replset init is needed). |
|
Disconnect | |
You can disconnect the connection by:
|
Object View |
|
At the left side,there is a treeview to show you the connection(server)
structure.The root node
![]() In most of case, the connection is server Instance. When you click the server treenode,the database ![]() Click the database treenode,the collections ![]() ![]() ![]() You can check the index information by clicking the index information ![]() ![]() If there is some exceptions happen when list the object,Error icon |
|
Data navigation |
|
Your can navigate data by:
|
Server properties |
|
This function will show the propery of selected server.
Some properties will not be shown at some type of connection. |
|
Status | |
This function can help you monitor the status of server.You can sort the data by click the columnheader.
|
|
Shut Down | |
This function will shut down the server.
|
|
Profilling Lever | |
You can set profilling Level for database
This function will create system.profile collection automaticlly! |
|
New Database | |
Create a new database.
|
|
New Collection | |
Create a new Collection.You can create collection with advanced options.
Pay attention to the Usage and Restrictions of Capped Collection |
Add User |
|
There are two types of User:Admin User AND Database User. You can add an admin user only When you connect to the server with an admin user.
|
|
you can add user to database When you connect to the server as an admin
user,or a database user.
|
|
Delete User | |
You can delete user from Admin Group or from database by deleting the
record of user info from the system collection [system.users]. If you login as an admin user,you will find [admin] database,which contains the basic information about the whole server. In [admin] database,you will find a collection with the name [system.users](if you have added some users before),click the node [Data] of the [system.users],the userInfo is listed in the right panel. You can select the user which you want to delete form the panel(treeview can only select one user once,listview can select all user at sametime.TextView not support this operation), then you can delete user by:
You also can switch to other database and delete user form database with the same way. |
Map Reduce |
|
Map Reduce is a cool function,this tool is support the map reduce via
GUI To open the map-reduce form,please select a data treenode,then click right. In the map-reduce,you will see a sample for map javascript and reduce javascript.It is only for beginer. You can load a javascript form system.js collection by select the jsname at listbox.Or you can save your javascript to system.js collection. When the javascript is ready,click run to do map-reduce. If the socketTimeout is too short to complete the map-reduce,there will be a exception happens.Please modify the socketTimeout at connection manager form |
|
Others |
|
Count: This tools also support the Aggregation:Count,Distinct,Group,(All Aggregation is support query filter.The next section will introduce query filter) Count will give you a count result of collection.The count result may be different ,when a datafilter is enable or not. Distinct: You need to pick a distinct field first Click "Run",the result is display by a messagebox: Group: Please see the reference first: Refrence of Aggregation at mongodb.org The Gui of group is look like this: If everything is right,the result looks like this:(Don't forget to add init fields...if some fields is not need any more,leave fieldname with space) |
Grid File System |
|
You can easy upload or download a file form GFS with this tool. Init GFS: If there is not a GFS in your database,you can init a GFS for your database: Select the database,then right click it,run the "Init GFS" Command at the contextMenu. After you refresh the server(connection) list,fs.chunks and fs.files will add to database.Now you can use GFS. Upload File: Now Select the fs.files collection node,right click,contextMenu contains "Upload File" command.Try to upload a file to GFS. The file witch is upload right now will show at the right side panel. You can double click the file at the listview to open it,or use right-click contextMenu to operate the files. |
|
Data Query |
|
With DataQuery,you can decide the output fields with conditions. To enable the DataQuery,please select the data node from the left panel,then
You can give some conditions to limit the output data in "Filter" tab. Example1: Select * from Collection Where Age > 10 Example2: Select * from Collection Where Age > 10 Or Age2 < 10 Example3: Select * from Collection Where (Age > 10 and Age2 < 10) or Age > 10 You can save your query filter into a .xml file or load your query filter from a .xml file at any functions witch support query filter. (All Aggregation is support query filter.) You also can click the ![]() |
|
Dump and Restore |
|
This tool provide dump(backup) and restore function via run mongodump.exe
and mongorestore.exe. It is need the mongodump.exe and mongorestore.exe support,so make sure that the mongo\bin path is current setted. You can dump database,collection to a file,and restore the database,collection when needed. You also can export or import collection data.The difference of export and dump is that : Export write data to file with Bson,but Dump write data with Binary. |
|
Import from Access |
|
You can Import data from Microsoft Access Database. Select a server then click the ![]() Now,the mongo[2.0.2] has not supported the No-English DBName or CollectionName yet. |
|
Document Operation |
|
You can add a new empty document to current collection.Select a data
Node![]()
As you have add a empty document to collection.Now try to add some element to this empty document. 1.Add a BsonElement to collection:Select document node,then
Now BsonString,BsonInt32,BsonDateTime,BSonBoolean,BSonDocument,BSonArray is supported. You also can add Element to a document,or add a value to a Array with "Add Element" menuitem. (But now a Array or a Document add to a Array is not support yet) With this tool,you can generate your owner layout quickly. You can also copy,cut,paste Element of a document or value of a array to generate your owner layout quickly. |