Maison >Java >javaDidacticiel >Partage de code du guide d'utilisation de MongoDB en Java
MongoDB est une base de données NoSQL très populaire aujourd'hui. Cet article explique comment utiliser le pilote Java de MongoDB pour faire fonctionner MongoDB.
Si le projet Java qui doit faire fonctionner MongoDB est un projet Maven, vous pouvez ajouter la configuration suivante à les dépendances.
<dependencies> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.13.2</version> </dependency> </dependencies>
Ou utilisez-le en téléchargeant directement le package jar, adresse de téléchargement : mongo-java-driver-2.13.2.jar.
Pour plus de détails sur la façon d'introduire le package jar MongoDB, veuillez vous référer à la documentation officielle.
Vous pouvez utiliser MongoClient
pour vous connecter à MongoDB L'utilisation de MongoClient
est la suivante :
MongoClient mongoClient = new MongoClient("localhost", 27017); DB db = mongoClient.getDB("mydb");
Le code ci-dessus. se connecte à localhost:27017 Accédez au service MongoDB et spécifiez d'utiliser la base de données mydb. Après vous être connecté, vous pouvez effectuer d'autres opérations sur cette base de données.
Il convient de souligner que MongoClient
est threadsafe et peut partager le même MongoClient
dans un environnement multi-processus. De manière générale, dans une application, il vous suffit de générer une instance MongoClient
globale, puis d'utiliser cette instance à d'autres endroits du programme.
Vous pouvez utiliser plusieurs méthodes pour authentifier la connexion. Deux méthodes sont présentées ci-dessous.
MongoCredential
createCredential
peut spécifier le nom d'utilisateur d'authentification, le mot de passe et la base de données utilisés, et renvoyer un MongoCredential
Objet. La déclaration de sa méthode est la suivante :
static MongoCredential createCredential(String userName, String database, char[] password)
Par exemple,
MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray();
Ce qui précède crée un objet MongoCredential
avec le nom d'utilisateur user, le mot de passe password et la base de données mydb .
générera l'objet MongoCredential
comme paramètre MongoClient
de la fonction constructeur . Puisque le MongoClient
constructeur est <a href="http://www.php.cn/wiki/1059.html" target="_blank">List<code><a href="http://www.php.cn/wiki/1059.html" target="_blank">List</a>c8197b9f60b4d3b2d4d80193ff32d39a
< ; type, il doit donc d'abord être construit dans une liste, puis transmis. Un exemple d'authentification complet est le suivant :
MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray()); ServerAddress serverAddress = new ServerAddress("localhost", 27017); MongoClient mongoClient = new MongoClient(serverAddress, Arrays.asList(credential)); DB db = mongoClient.getDB("mydb");
Vous pouvez également utiliser MongoClientURI
pour terminer l'authentification MongoDB, qui représente un objet URI. Le constructeur de MongoClientURI
accepte une chaîne de type String Le format de cette chaîne est le suivant :
mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]
L'objet MongoClientURI
généré est utilisé comme paramètre du. MongoClient
constructeur , l'exemple d'authentification complet est le suivant :
String sURI = String.format("mongodb://%s:%s@%s:%d/%s", "user", "password", "localhost", 27017, "mydb"); MongoClientURI uri = new MongoClientURI(sURI); MongoClient mongoClient = new MongoClient(uri); DB db = mongoClient.getDB("mydb");
DBCollection coll = db.getCollection("mycol");
Ensuite, vous pouvez effectuer des opérations sur la collection spécifiée, par exemple, insérer , supprimer , rechercher, mettre à jour des documents, etc.
Par exemple, un document est représenté par Json comme suit,
{ “name”: “mongo”, “info”: { “ver”: “3.0” } }
doit maintenant être inséré dans le collection mycol. Pour l'insérer dans une collection, un document peut être construit en utilisant BasicDB<code>BasicDB<a href="http://www.php.cn/wiki/60.html" target="_blank">Object</a>
Object
BasicDBObject doc = new BasicDBObject("name", "mongo").append("info", new BasicDBObject("ver", "3.0")); coll.insert(doc);6. Rechercher des documents 1. Rechercher un document qualifié via findOne
findOne
Vous pouvez trouver un document qualifié via
DBObject myDoc = coll.findOne(); System.out.println(myDoc);
findOne
affichera le premier document de la collection mycol. Vous pouvez également rechercher un document répondant aux conditions de recherche en précisant les paramètres de recherche de
find
DBCursor
est utilisé pour rechercher des documents qui remplissent les conditions. Il renvoie un objet DBCursor
, qui peut être obtenu par parcours. l'objet
. Tous les documents correspondant aux critères de recherche.
{ “i”: value }
for (int i=0; i < 100; i++) { coll.insert(new BasicDBObject("i", i)); }
find
L' exemple d'utilisation
DBCursor cursor = coll.find(); try { while(cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }
Tous les documents de la collection mycol seront édités.
Vous pouvez également préciser les conditions de recherche, par exemple :
BasicDBObject query = new BasicDBObject("i", 71); DBCursor cursor = coll.find(query); try { while(cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }
Pour le cas où les conditions de recherche incluent l'$opérateur, par exemple le shell mongo suivant commande :
db.coll.find({i: {$gte: 50}});
Vous pouvez utiliser DBObject
pour générer des conditions de recherche,
// find all where i >= 50 BasicDBObject query = new BasicDBObject("i", new BasicDBObject("$gte", 50)); DBCursor cursor = coll.find(query); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); }
BasicDBObject query = new BasicDBObject("i", 70); BasicDBObject up = new BasicDBObject("$set", new BasicDBObject("i", 100)); coll.update(query, up);
La déclaration ci-dessus met à jour le document avec i égal à 70. La valeur est égale à 100.
与我们常用的更新文档的mongo语句一样,DBCollection
还包含了save
,findAndModify
等更新文档的方法,其使用方法在此不再赘述,可以参考API说明文档即可。
可以通过生成一个DBObject
对象来删除指定的文档,例如:
BasicDBObject query = new BasicDBObject("i", 71); coll.remove(query);
上面的语句删除i为71的文档。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!