Platforms & Architecture (9)

What are the supported platforms for JSON Studio?


JSON Studio can be installed on Linux, OS X and Windows. It can also be installed on Joyent SmartOS (Solaris 86).


Do I install JSON Studio on my desktop or on a server?


Either one.

JSON Studio is a Java/Javascript application that uses a browser-based interface. You can install the studio on your desktop or laptop for your personal use. You can also install it on a shared server and even in the cloud and that server can be used my many users to access data in many MongoDB databases.


What is the Gateway’s architecture?


The Gateway is a Java-based server that runs within a Tomcat servlet container. It receives HTTP requests, loads the query metadata (generated and saved by JSON Studio), runs the query on MongoDB and processes the results as an HTTP response or by inserting them into a MongoDB collection.


What is the Resource Manager’s Architecture?


Sonar Resource Manager (SRM) for MongoDB is a python utility. It has two configuration files – one for defining which MongoDB databases it should connect to and one defining the quota rules. It can run on the server itself or on any machine that has networked access to the MongoDB databases it needs to manage. Connections to the databases are done using pymongo.


What are the system requirements for JSON Studio?


JSON Studio require a JRE 1.6 and up. The Windows and OS X installers include the JRE.

The Studio typically consumes up to 1G of memory but that is configurable.

The Studio requires 500M of disk space to install.


What version of MongoDB are supported by JSON Studio?


MongoDB version 2.2 and up. Because MongoDB version 2.2 is a drop-in replacement for 2.0 and 1.8, the Studio should also work with 2.0 and 1.8 – but no active regression testing is done on these older versions.


Where do I install JSON Studio?


JSON Studio installs on Linux, OS X and Windows. You can install JSON Studio anywhere so long as your users have HTTP access to the host running JSON Studio and the Studio can access the MongoDB databases you want to access. There are two typical installations. In one, each user of the Studio installs a private version on their desktop or laptop. In the other, the Studio is installed on one shared server and all users access the same instance of the Studio.

All installation options are valid and work well. The only recommendation we make is that if your MongoDB databases are running in the cloud (e.g. one Amazon AWS) that you run the Studio on a machine in the cloud as well – i.e. close to the database servers. Traffic between your browser and the Studio is less verbose than traffic between the Studio and the Mongo database.


What ports are used by JSON Studio?


JSON Studio is a Web application and listens on two ports – one for HTTP traffic and one for HTTPS traffic. The ports used when you install using defaults are 8080 and 8443 but the installer asks you for port numbers if you want to use other ports. The HTTP port is never really used – any access over that port immediately redirects to the HTTPS port so that all browser-to-Studio communications are encrypted.

JSON Studio needs to be able to connect to the MongoDB databases that you wish to use. JSON Studio supports both connections using SSL and regular connections.


Products and Services (10)

Do you offer training?


Yes. When starting to use our tools we recommend a one-day training session. This is a comprehensive session that covers all aspects of the Studio and Gateway. We offer off-site training (in which case you will participate in a class with other customers) priced by the number of participants. We also offer on-premise training where we bring laptops pre-installed with MongoDB databases and sample data. On-premise training is a fixed-price for up to 10 participants and tends to be cheaper than sending multiple participants to a shared class.


Do you have a version of JSON Studio for platforms other than MongoDB?


At the moment, no. At the moment we are devoting our time to building a large and robust suite of tools for MongoDB. Instead of building one tool for many databases, we are building many tools for one database. Anything can change in the future and if you think we’re making a mistake and should do it differently, tell us!


Do you have a discount for start-ups and non-profits?


Yes – contact info@jsonar.com to get a discount code to use when purchasing.


How is JSON Studio different from other MongoDB Admin UIs


MongoDB admin UIs are a GUI layer on top of the mongo shell. They were built for the same people that are comfortable with the shell (e.g. the developers while developing the application) and require you to know the mongo syntax (finds, aggregation etc.) very well. They also give you total control – e.g. drop things, create indexes etc, not necessarily things you would let an analyst do on a production system (another way to think of the difference is to think of the privileges you would want users to have when accessing data through different tools).

JSON Studio was built for letting a much wider audience of people have access to the data in MongoDB. In a nutshell:

- JSON Studio is not an admin GUI – it is often used by less-technical users – like analysts, production support, and QA – people who might not have the time or do not want to learn Mongo’s entire language and syntax. (By the way – people learn important elements of the syntax while using JSON Studio because the studio allows them to build the queries visually but also shows them the generated code).

- It is used mostly when the apps are up and running, need to be supported, or in QA and people need to access data – less for when the app itself is being built.

- It is a suite of tools and not only a GUI (including the Gateway and the Resource Manager) that cover much more than what admin UIs do. Here’s a list of things you get through this tooling that you don’t find elsewhere:

On the non-GUI front:

  1. A resource manager for mongodb.
  2. A scaleable middleware layer giving you a way to build REST APIs that access data in MongoDB without writing any code.
  3. Differ tooling for QA.
  4. A schema analyzer/viewer to tell you whats in the collections.

On the GUI front – things that JSON Studio gives you that admin UIs don’t -

  1. Analytic queries using the aggregation framework.
  2. Queries using plain words, facets, and visual query construction.
  3. Comprehensive graphing and visualization using d3 directly on Mongodb data.
  4. Bi-directional Excel interface.


How do I convert from an eval version to a paid version


The JSON Studio/Gateway evaluation version is a fully functional version identical to the paid version apart from a time-limited license key. When you purchase a subscription you will have the opportunity to download a new installer. Additionally, you will receive a full license key by email within a couple of days. If you have already installed and are using the eval version you may choose to keep using the same installation or re-install – it is the same software. In either case copy the full license key to the conf directory under your installation directory (i.e. overwrite the time-limited jsonar.license file) to fully activate your Studio or Gateway.


How can I get a full demo of JSON Studio?


Email us at sales@jsonar.com and we will be glad to schedule a Web demo with you. Also, check our events page in case we are presenting in a MongoDB user group next to you.


Can I get an eval version of JSON Studio?


Yes. You can download for a fully-functional time-limited evaluation version of JSON Studio at http://jsonstudio.com/evaluate/.


How are the tools licensed?


JSON Studio is licensed under a subscription commercial license per user per year.
The Gateway is licensed under a subscription commercial license per thread per year. The Gateway is a middleware component that opens MongoDB through Web services – the number of threads affect the maximal throughput of the system.
The Resource Manager is licensed under a subscription commercial license per number of MongoDB instances managed.
The yearly subscription includes support, maintenance and all updates and upgrades for the subscription period.
If you require a perpetual license contact info@jsonar.com.


Are there similar tools to JSON Studio as part of my MongoDB installation?


MongoDB comes with the shell which is excellent for developing applications. The shell is a command line tool aimed at developers. There are also many third-party admin UIs – see this page. All these tools provide you with an interface similar to the shell and target the core developers during the development phase, require deep knowledge, and are useful in some scenarios. None of these tools address the larger community of analysts, QA engineers, application support and more. Even developers find that using the Studio greatly increases their productivity.


What users benefit from JSON Studio?


Developers, QA engineers, operations/application support, analysts and data scientists benefit the most from JSON Studio.


Support (8)

I’m evaluating JSON Studio and getting the following error: “Exceeded licensed term or concurrent connections. Licensed for -1 concurrent and currently 0 open.”


The evaluation version of JSON Studio comes with a time-limited license good for 2 weeks. When you purchase a subscription you will get a full license which you can copy to the conf directory making your eval install a fully-licensed version. If you need an extension of your evaluation period email us at sales@jsonar.com.


What MongoDB authentication modes are supported by JSON Studio


JSON Studio supports standard MongoDB authentication (mongodb-cr), Kerberos, and no-auth.

LDAP Proxy authentication using SASL and x.509 certificate authentication available in MongoDB 2.6 and up are not supported in JSON Studio 2.x but are on the roadmap for JSON Studio 3.0.


Why am I getting – “Login Error { “serverUsed”: “MyServer.domain:27017″, “ok”: 0.0, “errmsg”: “auth failed”, “code”:18}”


When you login to JSON Studio you are really providing a username/password to connect to MongoDB and the Studio connects to MongoDB on your behalf. Because JSON Studio saves metadata to the database (e.g. for saved queries and graphs, for preferences, and more) you need to have write privileges in the Studio database to have a successful connection. Note that when you login to the Studio you have two database names – the main database that holds your data and the Studio DB. If you omit the Studio DB then the main database will also be used for the Studio’s metadata (and thus the user you use to connect-with should have write privileges). If you do not want this metadata saved in the same database remember to include a Studio database – in this case you only need read privileges to the main database.

JSON Studio first attempts to authenticate to the database you provided and if this fails it attempts to authenticate with the admin database. Therefore, you can define the user in the database you want to connect to or in the admin database. If you define the user in the admin database remember that the user definition needs to have privileges to read to the database you want to connect to (e.g. using a readAnyDatabase privilege) and a write privilege to the Studio DB (e.g. using a readWriteAnyDatabase privilege).

For example, if you want the qa1 user to be able to connect to the test database for querying and you want the metadata to be saved into the lmrm database, and you want the qa1 user defined in the admin database, then you need to provide the following privileges::

> db.createUser({user:"qa1", pwd:"qa1", roles: [{role: "read", db: "test"}, {role: "readWrite", db: "lmrm"}]})
Successfully added user: {
 "user" : "qa1",
 "roles" : [
  "role" : "read",
  "db" : "test"
  "role" : "readWrite",
  "db" : "lmrm"


If you want a user qa2 that can connect to any database for querying and write metadata to lmrm, provide the following privileges::

> db.createUser({user:"qa2", pwd:"qa2", roles: ["readAnyDatabase", {role: "readWrite", db: "lmrm"}]})
Successfully added user: {
 "user" : "qa2",
 "roles" : [
   "role" : "readWrite",
   "db" : "lmrm"

Note that the Studio database does not have to be in the same instance as the database you are querying. To use a Studio database on another instance provide the following connection URL in the Studio DB field::

<username>:<password>@<host>:<port>/<studio db name>


I’m getting a blank page after I login when using Internet Explorer on Windows.


When you use Internet Explorer and compatibility mode is enabled, some pages may appear blank. JSON Studio pages are correctly created and thus do not need IE to be in compatibility mode. Disable compatibility mode using Tools > Compatibility View settings and deselect Display Intranet sites in Compatibility View.


Why am I getting a login error when I try to connect to a secondary in a replica set?


When you want to connect and view data through a replica set you need to use the right read preference.

When you connect to a replica set you can either connect to the whole replica set or to a specific node.

To connect to the replica set you should list-out your nodes in the host field. For example, if your nodes are mongo0.jsonar.com, mongo1.jsonar.com and mongo2.jsonar.com all listening on the default port then enter “mongo0.jsonar.com:27017 mongo1.jsonar.com:27017 mongo2.jsonar.com:27017″ in the host field. JSON Studio will then be resilient to any node going down and will failover. If you want JSON Studio to run it’s queries on a secondary check the “prefer secondary” checkbox. JSON Studio will run queries on one of the secondaries and all writes (e.g. saved queries) will go to the primary transparently. Remember that all writes go to the Studio DB so if you want the saved queries, metadata etc to be written in another database, specify a mongodb URL in the Studio DB field.

Connecting to a specific node in the replica set directly is different depending on whether you are connecting to the primary or secondary (and in both cases your session is not resilient to failures). Usually, when you select the node to connect to directly, you will opt to use a secondary to keep load off your primary. In this case you must check the prefer secondary checkbox. Additionally, because JSON Studio cannot write any of it’s metadata to the secondary you must provide a Studio DB URL (either on this cluster or on a different cluster) to which JSON Studio can write to.


What format do I use for the URI in the JSON Studio login page?

JSON Studio allows you to login using one of two ways:
1. By putting in a username, password, hostname, port etc
2. Using a mongodb URI plus a username/password

The second option is only supported in version 5.5.0 and up and is the preferred option since it allows you a wide varierty of connection types including connections to replica sets, using SSL and more. The URI has a placeholder for the username and password (entered in the appropriate fields) but otherwise follow the MongoDB URI format. Example include:




How do I get support?


Open a ticket my emailing support@jsonar.com or by clicking here. We are fanatic about support and will get back to you quickly.