MongoDB est un serveur de base de données non relationnel, d’où le terme NoSQL (Not only SQL). Il est concu principalement pour contenir des informations sous forme de documents, des données semi-structurées dont le schéma n’est pas dissocié des données et donc, dont les données ne sont pas contraintes à un schéma défini (i.e. un document peu contenir des “champs” que d’autres n’ont pas obligatoirement).
Chaque objet obtient un id qui lui est propre et n’est pas en relation directe avec un autre.
C’est une réponse à un besoin de rapidité d’accès à l’information et de disponibilité plutôt qu’à la consistence ou l’intégrité de l’information.
Note : MongoDB n’est pas sous license Open Source mais SSPL v2 (Server Side Public Licence), une license proche de GNU développée par le projet et qui requiert que les logiciels rendus publics l’utilisant soient également sous cette même license.
Source : en.wikipedia.org/wiki/MongoDB, en.wikipedia.org/wiki/Document-oriented_database et en.wikipedia.org/wiki/NoSQL
Installation et configuration de MongoDB
Sur Ubuntu :
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
Notes :
- le package mongodb fourni par Ubuntu n’est pas maintenu par MongoDB
- la première ligne installe la clef publique du repository pour s’assurer de la consistence et de l’authenticité des packages
- la seconde ligne permet d’ajouter le lien du repository de mongodb à la liste des sources sur le système
Pour une utilisation avec un outil externe, il y a lieu de modifier la configuration du serveur MongoDB en ajoutant l’adresse ip publique du serveur à la directive bindIp :
$ sudo nano /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,192.168.1.123
Source : docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu, www.mkyong.com/mongodb/mongodb-allow-remote-access
Studio 3T
Studio 3T est un IDE pour MongoDB que l’on pourrait assimiler à SQL Developer pour Oracle.
Il permet l’édition visuelle des collections et documents (l’équivalent des schémas et tables SQL chez MongoDB) à l’aide d’une interface graphique et de formulaires afin de pouvoir importer/exporter des éléments dans la base de donnée, de faire des requêtes, etc.
Robo 3T
Robo 3T est une GUI intégrant complètement le shell (sans l’émuler) de MongoDB et se connecte à un serveur MongoDB.
Il permet de faire des requêtes en ligne de commande. C’est comme être connecté sur le serveur de base de données mais avec l’écriture prédictive en plus.