English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MongoDB Java

Dans ce chapitre, nous allons apprendre à configurer MongoDB CLIENT.

Installation

Avant de commencer à utiliser MongoDB dans un programme Java, il est nécessaire de s'assurer que MongoDB CLIENT et Java sont installés sur l'ordinateur. Vous pouvez suivre le tutoriel Java pour installer Java sur votre ordinateur. Ahora, allons voir comment configurer MongoDB CLIENT.

  • Vous devez télécharger le jar mongodb-driver-3.11.2.jar et ses dépendances mongodb-driver-core-3.11.2.jar.. Assurez-vous que vous téléchargez les versions les plus récentes de ces fichiers jar.

  • Vous devez inclure le fichier jar téléchargé dans le chemin de classe.

Se connecter à la base de données

Pour se connecter à la base de données, vous devez spécifier le nom de la base de données. Si la base de données n'existe pas, MongoDB la créera automatiquement.

Voici un extrait de code pour se connecter à la base de données-

import com.mongodb.client.MongoDatabase; 
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class ConnectToDB { 
   
   public static void main(String args[]) {  
      
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ; 
   
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      // Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb"); 
      System.out.println("Credentials ::"+ credential);     
   } 
}

Maintenant, compilons et exécutons le programme suivant pour créer la base de données myDb, comme suit.

$javac ConnectToDB.java $java ConnectToDB

Après exécution, le programme ci-dessus vous fournira les sorties suivantes.

Connexion réussie à la base de données Credentials :: MongoCredential{
   mechanism = null, 
   userName = 'sampleUser', 
   source = 'myDb', 
   password = <hidden>, 
   mechanismProperties = {}

Créer la collection

Pour créer une collection, utilisez la méthode createCollection () de la classe com.mongodb.client.MongoDatabase.

Voici un extrait de code pour créer une collection-

import com.mongodb.client.MongoDatabase; 
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class CreatingCollection { 
   
   public static void main(String args[]) {  
      
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ; 
     
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      //Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb");  
      
      //Créer la collection 
      database.createCollection("sampleCollection"); 
      System.out.println("Créé avec succès la collection"); 
   } 
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Connexion réussie à la base de données, création réussie de la collection

Obtenir/Sélection de la collection

Pour obtenir à partir de la base de données/Pour sélectionner une collection, il faut utiliser la méthode getCollection () de la classe com.mongodb.client.MongoDatabase.

Voici pour obtenir/Programme de sélection de collection-

import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoDatabase; 
import org.bson.Document; 
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class selectingCollection { 
   
   public static void main(String args[]) {  
      
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ; 
     
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      // Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb");  
      
      // Créer la collection
      System.out.println("Créé avec succès la collection"); 
      // Récupérer la collection
      MongoCollection<Document> collection = database.getCollection("myCollection"); 
      System.out.println("La collection myCollection a été sélectionnée avec succès"); 
   }
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Connexion réussie à la base de données, création réussie de la collection, sélection réussie de la collection myCollection

Insérer un document

Pour insérer un document dans MongoDB, il est nécessaire d'utiliser la méthode insert () de la classe com.MongoDB.client.MongoCollection.

Voici un extrait de code pour insérer un document-

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import com.mongodb.MongoClient;
public class InsertingDocument {
	public static void main(String args[]) {
	// Créer un client MongoDB
	MongoClient mongo = new MongoClient("localhost", 27017 ;
	// Accès à la base de données
	MongoDatabase database = mongo.getDatabase("myDb");
	// Créer la collection
	database.createCollection("sampleCollection");
	System.out.println("Créé avec succès la collection");
	// Récupérer la collection
	MongoCollection<Document> collection = database.getCollection("sampleCollection");
	System.out.println("La collection sampleCollection a été sélectionnée avec succès");
	Document document = new Document("title", "MongoDB")
	.append("description", "database")
	.append("likes", 100)
	.append("url", "http://fr.oldtoolbag.com/mongodb/")
	.append("by", "oldtoolbag.com");
	//Insérer le document dans la collection
	collection.insertOne(document);
	System.out.println("Insertion de document réussie");
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Connexion réussie à la base de données Sélection réussie de la collection sampleCollection Insertion de document réussie

Récupérer tous les documents

Pour sélectionner tous les documents dans une collection, utilisezcom.mongodb.client.MongoCollection 的classfind()Méthode。此方法返回一个游标,因此您需要迭代此游标。

Voici le programme pour sélectionner tous les documents-

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
public class RetrievingAllDocuments {
	public static void main(String args[]) {
		// Créer un client MongoDB
		MongoClient mongo = new MongoClient("localhost", 27017 ;
		// Créer un jeton
		MongoCredential credential;
		credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray());
		Connecté avec succès à la base de données
		// Accès à la base de données
		MongoDatabase database = mongo.getDatabase("myDb");
		// Récupérer la collection
		MongoCollection<Document> collection = database.getCollection("sampleCollection");
		System.out.println("La collection sampleCollection a été sélectionnée avec succès");
		Document document1 = new Document("title", "MongoDB")
		.append("description", "database")
		.append("likes", 100)
		.append("url", "http://fr.oldtoolbag.com/mongodb/")
		.append("by", "oldtoolbag.com");
		Document document2 = new Document("title", "RethinkDB")
		.append("description", "database")
		.append("likes", 200)
		.append("url", "http://fr.oldtoolbag.com/rethinkdb/")
		.append("by", "oldtoolbag.com");
		List<Document> list = new ArrayList<Document>();
		list.add(document1;
		list.add(document2;
		collection.insertMany(list);
		// Obtenir l'objet itérable
		FindIterable<Document> iterDoc = collection.find();
		int i = 1;
		// Obtenir l'itérateur
		Iterator it = iterDoc.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
			i++;
		}
	}
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Connexion réussie à la base de données Sélection réussie de la collection sampleCollection{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://fr.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://fr.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}

Mettre à jour le document

Pour mettre à jour un document dans une collection, utilisezclass com.mongodb.client.MongoCollectionupdateOne()Méthode

Voici le programme de sélection du premier document-

import com.mongodb.client.FindIterable; 
import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoDatabase; 
import com.mongodb.client.model.Filters; 
import com.mongodb.client.model.Updates; 
import java.util.Iterator; 
import org.bson.Document;  
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class UpdatingDocuments { 
   
   public static void main(String args[]) {  
      
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ; 
     
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      // Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb"); 
      // Récupérer la collection 
      MongoCollection<Document> collection = database.getCollection("sampleCollection");
      System.out.println("La collection myCollection a été sélectionnée avec succès"); 
      collection.updateOne(Filters.eq("title", 1), Updates.set("likes", 150));       
      System.out.println("Mise à jour du document réussie...");  
      
      // Recherche de documents après mise à jour 
      // Obtenir l'objet itérable
      FindIterable<Document> iterDoc = collection.find(); 
      int i = 1; 
      // Obtenir l'itérateur 
      Iterator it = iterDoc.iterator(); 
      while (it.hasNext()) {  
         System.out.println(it.next());  
         i++; 
      }     
   }  
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Déjà connecté à la base de données - La collection myCollection a été sélectionnée avec succès - Mise à jour du document réussie...Document{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://fr.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://fr.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}

Suppression de documents

Pour supprimer un document d'une collection, vous devez utiliser la classecom.mongodb.client.MongoCollectiondedeleteOne()Méthode.

Voici le programme de suppression de documents-

import com.mongodb.client.FindIterable; 
import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoDatabase; 
import com.mongodb.client.model.Filters;  
import java.util.Iterator; 
import org.bson.Document; 
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class DeletingDocuments { 
   
   public static void main(String args[]) {  
   
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ;
      
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      // Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb"); 
      // Récupérer la collection
      MongoCollection<Document> collection = database.getCollection("sampleCollection");
      System.out.println("La collection sampleCollection a été sélectionnée avec succès"); 
      // Supprimer le fichier 
      collection.deleteOne(Filters.eq("title", "MongoDB")); 
      System.out.println("Suppression du document réussie...");  
      
      // Recherche de documents après mise à jour 
      // Obtenir l'objet itérable 
      FindIterable<Document> iterDoc = collection.find(); 
      int i = 1; 
      // Obtenir l'itérateur 
      Iterator it = iterDoc.iterator(); 
      while (it.hasNext()) {  
         System.out.println(it.next());  
         i++; 
      }       
   } 
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Déjà connecté à la base de données - La collection sampleCollection a été sélectionnée avec succès - Suppression du document réussie...Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://fr.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}

Supprimer la collection

Pour supprimer une collection de la base de données, vous devez utiliser la classecom.mongodb.client.MongoCollectiondedrop()Méthode.

Voici le programme pour supprimer une collection-

import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoDatabase;  
import org.bson.Document;  
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class DropingCollection { 
   
   public static void main(String args[]) {  
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ; 
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      // Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb");  
      
      // Créer la collection
      System.out.println("Créé avec succès la collection"); 
      // Récupérer la collection
      MongoCollection<Document> collection = database.getCollection("sampleCollection");
      // Supprimer la collection 
      collection.drop(); 
      System.out.println("Supprimé avec succès la collection");
   } 
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Connecté avec succès à la base de données Collection sampleCollection sélectionnée avec succès Supprimé avec succès la collection

Lister toutes les collections

Pour lister toutes les collections de la base de données, vous devez utiliser la classede com.mongodb.client.MongoDatabaselistCollectionNames()Méthode

Voici le programme pour lister toutes les collections de la base de données-

import com.mongodb.client.MongoDatabase; 
import com.mongodb.MongoClient; 
import com.mongodb.MongoCredential;  
public class ListOfCollection { 
   
   public static void main(String args[]) {  
      
      // Créer un client MongoDB 
      MongoClient mongo = new MongoClient("localhost", 27017 ; 
      // Créer un jeton 
      MongoCredential credential; 
      credential = MongoCredential.createCredential("sampleUser", "myDb", 
         "password".toCharArray()); 
      Connecté avec succès à la base de données  
      
      // Accès à la base de données 
      MongoDatabase database = mongo.getDatabase("myDb"); 
      System.out.println("Créé avec succès la collection"); 
      for (String name : database.listCollectionNames()) { 
         System.out.println(name); 
      } 
   }
}

Lors de la compilation, le programme ci-dessus vous fournit les résultats suivants-

Connecté avec succès à la base de données Créé avec succès la collection myCollection myCollection1 myCollection5

Les autres méthodes MongoDB telles que save ()、 limit ()、 skip ()、 sort () et autres fonctionnent de la même manière que décrit dans les tutoriels suivants.