Récupérer les drivers Java
Avant tout il faut récupérer les drivers java MongoDb (fichier .jar) et les associés au projet (ici netbeans).
Sur le site officiel le point de départ est le suivant : https://docs.mongodb.com/ecosystem/drivers/java/
Il faut télécharger les fichiers jar correspondant à :
- « mongodb-driver »
- « mongo-java-driver »
- « mongodb-core »
Ces fichiers sont à placer dans le projet. Pour cela créer un répertoire nommer « lib » et y placer les fichiers jar
Ensuite dans Netbeans il faut déclarer ces modules
pour obtenir l’écran suivant :
A partir de maintenant il est possible de faire des requêtes sur un serveur « MongoDB » en Java.
Connexion au serveur et parcours des documents d’une collection
Ce morceau de code montre comment :
- se connecter au serveur ;
- sélectionner une base de données ;
- sélectionner une collection ;
- parcourir l’ensemble des documents d’un collection ;
- afficher certaines valeurs d’un document.
// Connexion au serveur MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); System.out.println("Connexion serveur --> OK"); // Connexion à la base de données MongoDatabase base = mongoClient.getDatabase("open_food_facts"); System.out.println("Sélection base --> OK"); // Selection d'ue collection de documents MongoCollection collection = base.getCollection("produit"); System.out.println("Sélection collection --> OK"); // Lance requête (equivalent select *) MongoCursor curseur = collection.find().iterator(); // Parcours du résultat int cpt = 0; while (curseur.hasNext()) { // récupération doc Document doc = (Document) curseur.next(); // Affichage des propriétés du document en cours System.out.print (doc.getString("code")); System.out.print(" | "); System.out.print (doc.getString("product_name_fr")); System.out.print(" | "); System.out.print (doc.getString("brands")); System.out.print(" | "); System.out.print (doc.getString("ingredients_text")); System.out.print(" | "); System.out.print (doc.getString("origins")); System.out.print(" | "); System.out.println(""); System.out.println(" cpt :" + cpt); cpt ++; if (cpt>2000) {break;} } mongoClient.close();
MongoDB : Interrogation d’une base de données avec JAVA