Skip to content


MongoDB is a NoSQL document storage as such it is different to Relational Databases (RDBs) like MySQL or postgreSQL.

The data within mongo is stored as documents in JSON format. They are organized in collections, which is the same as tables in a relational database.


Under debian it is in the default package repository:

apt-get install -y mongodb

This should also install the mongodb-server and mongodb-clients on your system.


To manage the documents you may use the contained shell:

mongo [<dbname>]

This will give you an interactive shell to administrate. It's a JavaScript based shell.


In the following table you find some common command examples.

Command Usage
db show current db name
db.<collection>.find().pretty() list all documents and pretty print
db.<collection>.insert(<json>) insert document


There are a lot of GUIs available, a lot of them professional. I found MongoDB Compass a usable thing:

It provides users with a graphical view of their MongoDB schema without the need of query language. It also analyses documents and displays rich structures inside this intuitive GUI.

Compass Screenshot


  • The tool allows to explore data visually
  • MongoDB Compass analyzes documents and displays rich structures within one collection using Run ad-hoc queries in seconds
  • Supports quick insight into server status and query performance
  • Allows to view query performance
  • A better approach to CRUD makes it easier to interact
  • It helps users to take decisions about indexing, document validation, and more
  • No need to write command line




To create a new database you only have to access it:

> use mydb
switched to db mydb

And to get the name of the current database use the db command.


Using db.createUser() new users can be added:

> db.createUser({
...   user: "alex",
...   pwd: "test123",
...   roles: ["readWrite", "dbAdmin"]
... });
Successfully added user: { "user" : "alex", "roles" : [ "readWrite", "dbAdmin" ] }


To create a collection, use the db.createCollection() method. It takes one parameter: the name of the collection.

> db.createCollection("persons");
{ "ok" : 1 }

The success message will be ok with the count of affected items (or created collections, in this case).