{"id":457,"date":"2017-05-01T20:23:47","date_gmt":"2017-05-01T18:23:47","guid":{"rendered":"http:\/\/union31xh.free.fr\/?p=457"},"modified":"2017-05-02T11:36:47","modified_gmt":"2017-05-02T09:36:47","slug":"mongodb-interrogation-de-donnees-avec-java","status":"publish","type":"post","link":"https:\/\/blogperso.union31.fr\/?p=457","title":{"rendered":"MongoDB : Interrogation d&rsquo;une base de donn\u00e9es avec JAVA"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogperso.union31.fr\/?p=457\/#Recuperer_les_drivers_Java\" >R\u00e9cup\u00e9rer les drivers Java<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogperso.union31.fr\/?p=457\/#Connexion_au_serveur_et_parcours_des_documents_dune_collection\" >Connexion au serveur et parcours des documents d&rsquo;une collection<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"Recuperer_les_drivers_Java\"><\/span>R\u00e9cup\u00e9rer les drivers Java<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Avant tout il faut r\u00e9cup\u00e9rer les drivers java MongoDb (fichier .jar) et les associ\u00e9s au projet (ici netbeans).<\/p>\n<p>Sur le site officiel le point de d\u00e9part est le suivant : <a href=\"https:\/\/docs.mongodb.com\/ecosystem\/drivers\/java\/\" target=\"_blank\">https:\/\/docs.mongodb.com\/ecosystem\/drivers\/java\/<\/a><\/p>\n<p>Il faut t\u00e9l\u00e9charger les fichiers jar correspondant \u00e0 :<\/p>\n<ul>\n<li>\u00ab\u00a0mongodb-driver\u00a0\u00bb<\/li>\n<li>\u00ab\u00a0mongo-java-driver\u00a0\u00bb<\/li>\n<li>\u00ab\u00a0mongodb-core\u00a0\u00bb<\/li>\n<\/ul>\n<p>Ces fichiers sont \u00e0 placer dans le projet. Pour cela cr\u00e9er un r\u00e9pertoire nommer \u00ab\u00a0lib\u00a0\u00bb et y placer les fichiers jar<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-462\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java1.png\" alt=\"\" width=\"859\" height=\"170\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java1.png 1080w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java1-300x59.png 300w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java1-768x152.png 768w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java1-1024x203.png 1024w\" sizes=\"auto, (max-width: 859px) 100vw, 859px\" \/><\/p>\n<p>Ensuite dans Netbeans il faut d\u00e9clarer ces modules<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-463\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java-netbeans-declare1.png\" alt=\"\" width=\"182\" height=\"155\" \/><\/p>\n<p>pour obtenir l&rsquo;\u00e9cran suivant :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-464\" src=\"http:\/\/union31xh.free.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java-netbeans-declare2.png\" alt=\"\" width=\"242\" height=\"166\" srcset=\"https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java-netbeans-declare2.png 311w, https:\/\/blogperso.union31.fr\/wp-content\/uploads\/2017\/05\/MongoDB-driver-java-netbeans-declare2-300x205.png 300w\" sizes=\"auto, (max-width: 242px) 100vw, 242px\" \/><\/p>\n<p>A partir de maintenant il est possible de faire des requ\u00eates sur un serveur \u00ab\u00a0MongoDB\u00a0\u00bb en Java.<\/p>\n<h1><span class=\"ez-toc-section\" id=\"Connexion_au_serveur_et_parcours_des_documents_dune_collection\"><\/span>Connexion au serveur et parcours des documents d&rsquo;une collection<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>Ce morceau de code montre comment  :<\/p>\n<ul>\n<li>se connecter au serveur ;<\/li>\n<li>s\u00e9lectionner une base de donn\u00e9es ;<\/li>\n<li>s\u00e9lectionner une collection ;<\/li>\n<li>parcourir l&rsquo;ensemble des documents d&rsquo;un collection ;<\/li>\n<li>afficher certaines valeurs d&rsquo;un document.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<pre>\/\/ Connexion au serveur\r\nMongoClient mongoClient = new MongoClient( \"localhost\" , 27017 );\r\nSystem.out.println(\"Connexion serveur --&gt; OK\");\r\n\r\n\/\/ Connexion \u00e0 la base de donn\u00e9es\r\nMongoDatabase base = mongoClient.getDatabase(\"open_food_facts\");\r\nSystem.out.println(\"S\u00e9lection base --&gt; OK\");\r\n\/\/ Selection d'ue collection de documents\r\nMongoCollection collection = base.getCollection(\"produit\");\r\nSystem.out.println(\"S\u00e9lection collection --&gt; OK\");\r\n\r\n\/\/ Lance requ\u00eate (equivalent select *)\r\nMongoCursor curseur =  collection.find().iterator();\r\n\/\/ Parcours du r\u00e9sultat\r\nint cpt = 0;\r\nwhile (curseur.hasNext()) {\r\n    \/\/ r\u00e9cup\u00e9ration doc\r\n    Document doc = (Document) curseur.next();\r\n    \/\/ Affichage des propri\u00e9t\u00e9s du document en cours\r\n    System.out.print (doc.getString(\"code\"));\r\n    System.out.print(\" | \");\r\n    System.out.print (doc.getString(\"product_name_fr\"));\r\n    System.out.print(\" | \");\r\n    System.out.print (doc.getString(\"brands\"));\r\n    System.out.print(\" | \");\r\n    System.out.print (doc.getString(\"ingredients_text\"));\r\n    System.out.print(\" | \");\r\n    System.out.print (doc.getString(\"origins\"));\r\n    System.out.print(\" | \");\r\n    System.out.println(\"\");\r\n    System.out.println(\" cpt :\" + cpt);\r\n    cpt ++;\r\n    if (cpt&gt;2000) {break;}\r\n}\r\nmongoClient.close();<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>R\u00e9cup\u00e9rer les drivers Java Avant tout il faut r\u00e9cup\u00e9rer les drivers java MongoDb (fichier .jar) et les associ\u00e9s au projet (ici netbeans). Sur le site officiel le point de d\u00e9part est le suivant : https:\/\/docs.mongodb.com\/ecosystem\/drivers\/java\/ Il faut t\u00e9l\u00e9charger les fichiers<\/p>\n","protected":false},"author":1,"featured_media":303,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-457","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-_dev"],"_links":{"self":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=457"}],"version-history":[{"count":9,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/457\/revisions"}],"predecessor-version":[{"id":469,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/posts\/457\/revisions\/469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=\/wp\/v2\/media\/303"}],"wp:attachment":[{"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogperso.union31.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}