English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questa sezione, impareremo come configurare MongoDB CLIENT.
Prima di iniziare a utilizzare MongoDB in un programma Java, devi assicurarti che MongoDB CLIENT e Java siano configurati sul computer. Puoi seguire la guida Java per installare Java sul computer. Ora, vediamo come configurare MongoDB CLIENT.
Devi scaricare il jar mongodb-driver-3.11.2.jar e la sua dipendenza mongodb-driver-core-3.11.2.jar.
. Assicurarsi di scaricare le versioni più recenti di questi file jar.
È necessario includere il file jar scaricato nel percorso della classe.
Per connettersi al database, è necessario specificare il nome del database; se il database non esiste, MongoDB lo creerà automaticamente.
Di seguito è riportato un frammento di codice per la connessione al database
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ConnectToDB { public static void main(String args[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Credentials ::"+ credential); } }
Ora, compiliamo e eseguiamo il programma sopra per creare il database myDb come segue.
$javac ConnectToDB.java $java ConnectToDB
Dopo l'esecuzione, il programma sopra fornirà l'output seguente.
Connesso con successo al database Credentials ::MongoCredential{ mechanism = null, userName = 'sampleUser', source = 'myDb', password = <nascosto>, mechanismProperties = {}
Per creare una raccolta, utilizzare il metodo createCollection () della classe com.mongodb.client.MongoDatabase.
Di seguito è riportato un frammento di codice per la creazione di una raccolta
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class CreatingCollection { public static void main(String args[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); //Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); //Creazione raccolta database.createCollection("sampleCollection"); System.out.println("Creato con successo la raccolta"); } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
Connesso con successo al database, creazione della raccolta completata
Per ottenere/selezionare una raccolta dal database, è necessario utilizzare il metodo getCollection () della classe com.mongodb.client.MongoDatabase.
Di seguito è riportato il programma per ottenere/selezionare una raccolta
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[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); // 创建集合 System.out.println("Creato con successo la raccolta"); // 检索集合 MongoCollection<Document> collection = database.getCollection("myCollection"); System.out.println("Selezione della collezione myCollection riuscita"); } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
Connesso con successo al database, creazione della raccolta completata, raccolta myCollection selezionata con successo
Per inserire un documento in MongoDB, è necessario utilizzare il metodo insert () della classe com.MongoDB.client.MongoCollection.
以下是插入文档的代码片段-
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[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); // 创建集合 database.createCollection("sampleCollection"); System.out.println("Creato con successo la raccolta"); // 检索集合 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selezionata con successo la raccolta sampleCollection"); Document document = new Document("title", "MongoDB") .append("description", "database") .append("likes", 100) .append("url", "http://it.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); //将文档插入集合中 collection.insertOne(document); System.out.println("文档插入成功"); }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
已成功连接到数据库 已成功选择集合sampleCollection 文档插入成功
要从集合中选择所有文档,请使用com.mongodb.client.MongoCollection
的class
。此方法返回一个游标,因此您需要迭代此游标。
方法find()
以下是选择所有文档的程序-
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[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); // 检索集合 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selezionata con successo la raccolta sampleCollection"); Document document1 = new Document("title", "MongoDB") .append("description", "database") .append("likes", 100) .append("url", "http://it.oldtoolbag.com/mongodb/") .append("by", "oldtoolbag.com"); Document document2 = new Document("title", "RethinkDB") .append("description", "database") .append("likes", 200) .append("url", "http://it.oldtoolbag.com/rethinkdb/") .append("by", "oldtoolbag.com"); List<Document> list = new ArrayList<Document>(); list.add(document1); list.add(document2); collection.insertMany(list); // Ottenere l'oggetto iterabile FindIterable<Document> iterDoc = collection.find(); int i = 1; // Ottenere l'iteratore Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
Connessione al database riuscita, selezione della collezione sampleCollection{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://it.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://it.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
Per aggiornare un documento nella collezione, utilizzareclass com.mongodb.client.MongoCollection
。
方法updateOne()
Di seguito è riportato il programma per selezionare il primo documento-
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[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); // 检索集合 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selezione della collezione myCollection riuscita"); collection.updateOne(Filters.eq("title", 1), Updates.set("likes", 150)); System.out.println("Aggiornamento del documento riuscito..."); // Ricerca del documento dopo l'aggiornamento // Ottenere l'oggetto iterabile FindIterable<Document> iterDoc = collection.find(); int i = 1; // Ottenere l'iteratore Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
Connessione al database riuscita, selezione della collezione myCollection riuscita, aggiornamento del documento riuscito...Document{{_id=5dce4e9ff68a9c2449e197b2, title=MongoDB, description=database, likes=100, url=http://it.oldtoolbag.com/mongodb/, by=oldtoolbag.com}}Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://it.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
Per eliminare un documento dalla raccolta, è necessario utilizzare la classecom.mongodb.client.MongoCollection
的
方法。deleteOne()
Di seguito è riportato il programma per eliminare i documenti -
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[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); // 检索集合 MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Selezionata con successo la raccolta sampleCollection"); // Eliminazione del file collection.deleteOne(Filters.eq("title", "MongoDB")); System.out.println("Eliminazione del documento riuscita..."); // Ricerca del documento dopo l'aggiornamento // Ottenere l'oggetto iterabile FindIterable<Document> iterDoc = collection.find(); int i = 1; // Ottenere l'iteratore Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
Connesso con il database con successo. Selezionata con successo la raccolta sampleCollection. Eliminazione del documento riuscita...Document{{_id=5dce4e9ff68a9c2449e197b3, title=RethinkDB, description=database, likes=200, url=http://it.oldtoolbag.com/rethinkdb/, by=oldtoolbag.com}}
要从数据库中删除集合,您需要使用类com.mongodb.client.MongoCollection
的
方法。drop()
以下是删除集合的程序-
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[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); // 创建集合 System.out.println("Creato con successo la raccolta"); // 检索集合 MongoCollection<Document> collection = database.getCollection("sampleCollection"); // 删除集合 collection.drop(); System.out.println("已成功删除集合"); } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
已成功连接到数据库 Collection sampleCollection selected successfully 已成功删除集合
要列出数据库中的所有集合,您需要使用类com.mongodb.client.MongoDatabase的
。
方法listCollectionNames()
以下是列出数据库的所有集合的程序-
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ListOfCollection { public static void main(String args[]) { // 创建一个Mongo客户端 MongoClient mongo = new MongoClient("localhost", 27017); // 创建凭证 MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connesso con successo al database"); // Accesso al database MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Creato con successo la raccolta"); for (String name : database.listCollectionNames()) { System.out.println(name); } } }
Al compilare, il programma sopra menzionato ti fornisce i seguenti risultati -
Connesso con successo al database - Creato con successo la raccolta myCollection myCollection1 myCollection5
I metodi restanti di MongoDB come save ()、 limit ()、 skip ()、 sort () e così via funzionano allo stesso modo come spiegato nei tutorial successivi.