В этой главе мы узнаем, как настроить драйвер JDBC MongoDB.
Монтаж
Прежде чем вы начнете использовать MongoDB в своих программах на Java, вы должны убедиться, что на компьютере установлены драйвер JDBC MongoDB и Java. Вы можете проверить учебник Java для установки Java на вашем компьютере. Теперь давайте проверим, как настроить драйвер JDBC MongoDB.
-
Вам нужно скачать банку с пути Скачать mongo.jar . Обязательно загрузите последнюю версию.
-
Вы должны включить mongo.jar в ваш путь к классам.
Вам нужно скачать банку с пути Скачать mongo.jar . Обязательно загрузите последнюю версию.
Вы должны включить mongo.jar в ваш путь к классам.
Подключиться к базе данных
Чтобы подключить базу данных, вам нужно указать имя базы данных, если база данных не существует, MongoDB создаст ее автоматически.
Ниже приведен фрагмент кода для подключения к базе данных.
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ConnectToDB { public static void main( String args[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Credentials ::"+ credential); } }
Теперь давайте скомпилируем и запустим вышеуказанную программу для создания нашей базы данных myDb, как показано ниже.
$javac ConnectToDB.java $java ConnectToDB
После выполнения вышеприведенная программа выдаст следующий вывод.
Connected to the database successfully Credentials ::MongoCredential{ mechanism = null, userName = 'sampleUser', source = 'myDb', password = <hidden>, mechanismProperties = {} }
Создать коллекцию
Для создания коллекции используется метод createCollection () класса com.mongodb.client.MongoDatabase .
Ниже приведен фрагмент кода для создания коллекции:
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class CreatingCollection { public static void main( String args[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); //Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); //Creating a collection database.createCollection("sampleCollection"); System.out.println("Collection created successfully"); } }
При компиляции вышеупомянутая программа дает следующий результат —
Connected to the database successfully Collection created successfully
Получение / Выбор Коллекции
Чтобы получить / выбрать коллекцию из базы данных, используется метод getCollection () класса com.mongodb.client.MongoDatabase .
Ниже приводится программа для получения / выбора коллекции —
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[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); // Creating a collection System.out.println("Collection created successfully"); // Retieving a collection MongoCollection<Document> collection = database.getCollection("myCollection"); System.out.println("Collection myCollection selected successfully"); } }
При компиляции вышеупомянутая программа дает следующий результат —
Connected to the database successfully Collection created successfully Collection myCollection selected successfully
Вставить документ
Чтобы вставить документ в MongoDB, используется метод insert () класса com.mongodb.client.MongoCollection .
Ниже приведен фрагмент кода для вставки документа.
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class InsertingDocument { public static void main( String args[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); // Retrieving a collection MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Collection sampleCollection selected successfully"); Document document = new Document("title", "MongoDB") .append("id", 1) .append("description", "database") .append("likes", 100) .append("url", "http://www.tutorialspoint.com/mongodb/") .append("by", "tutorials point"); collection.insertOne(document); System.out.println("Document inserted successfully"); } }
При компиляции вышеупомянутая программа дает следующий результат —
Connected to the database successfully Collection sampleCollection selected successfully Document inserted successfully
Получить все документы
Чтобы выбрать все документы из коллекции, используйте метод find () класса com.mongodb.client.MongoCollection . Этот метод возвращает курсор, поэтому вам нужно повторить этот курсор.
Ниже приводится программа для выбора всех документов —
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import java.util.Iterator; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class RetrievingAllDocuments { public static void main( String args[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); // Retrieving a collection MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Collection sampleCollection selected successfully"); // Getting the iterable object FindIterable<Document> iterDoc = collection.find(); int i = 1; // Getting the iterator Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
При компиляции вышеупомянутая программа дает следующий результат —
Document{{ _id = 5967745223993a32646baab8, title = MongoDB, id = 1, description = database, likes = 100, url = http://www.tutorialspoint.com/mongodb/, by = tutorials point }} Document{{ _id = 7452239959673a32646baab8, title = RethinkDB, id = 2, description = database, likes = 200, url = http://www.tutorialspoint.com/rethinkdb/, by = tutorials point }}
Обновить документ
Для обновления документа из коллекции используется метод updateOne () класса com.mongodb.client.MongoCollection .
Ниже приводится программа для выбора первого документа —
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[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); // Retrieving a collection MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Collection myCollection selected successfully"); collection.updateOne(Filters.eq("id", 1), Updates.set("likes", 150)); System.out.println("Document update successfully..."); // Retrieving the documents after updation // Getting the iterable object FindIterable<Document> iterDoc = collection.find(); int i = 1; // Getting the iterator Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println(it.next()); i++; } } }
При компиляции вышеупомянутая программа дает следующий результат —
Document update successfully... Document {{ _id = 5967745223993a32646baab8, title = MongoDB, id = 1, description = database, likes = 150, url = http://www.tutorialspoint.com/mongodb/, by = tutorials point }}
Удалить документ
Чтобы удалить документ из коллекции, вы должны использовать метод deleteOne () класса com.mongodb.client.MongoCollection .
Ниже приводится программа для удаления документа —
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[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); // Retrieving a collection MongoCollection<Document> collection = database.getCollection("sampleCollection"); System.out.println("Collection sampleCollection selected successfully"); // Deleting the documents collection.deleteOne(Filters.eq("id", 1)); System.out.println("Document deleted successfully..."); // Retrieving the documents after updation // Getting the iterable object FindIterable<Document> iterDoc = collection.find(); int i = 1; // Getting the iterator Iterator it = iterDoc.iterator(); while (it.hasNext()) { System.out.println("Inserted Document: "+i); System.out.println(it.next()); i++; } } }
При компиляции вышеупомянутая программа дает следующий результат —
Connected to the database successfully Collection sampleCollection selected successfully Document deleted successfully...
Отбрасывание коллекции
Чтобы удалить коллекцию из базы данных, вам необходимо использовать метод drop () класса com.mongodb.client.MongoCollection .
Ниже приводится программа для удаления коллекции —
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[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); // Creating a collection System.out.println("Collections created successfully"); // Retieving a collection MongoCollection<Document> collection = database.getCollection("sampleCollection"); // Dropping a Collection collection.drop(); System.out.println("Collection dropped successfully"); } }
При компиляции вышеупомянутая программа дает следующий результат —
Connected to the database successfully Collection sampleCollection selected successfully Collection dropped successfully
Перечисление всех коллекций
Чтобы составить список всех коллекций в базе данных, вам необходимо использовать метод listCollectionNames () класса com.mongodb.client.MongoDatabase .
Ниже приводится программа для перечисления всех коллекций базы данных —
import com.mongodb.client.MongoDatabase; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; public class ListOfCollection { public static void main( String args[] ) { // Creating a Mongo client MongoClient mongo = new MongoClient( "localhost" , 27017 ); // Creating Credentials MongoCredential credential; credential = MongoCredential.createCredential("sampleUser", "myDb", "password".toCharArray()); System.out.println("Connected to the database successfully"); // Accessing the database MongoDatabase database = mongo.getDatabase("myDb"); System.out.println("Collection created successfully"); for (String name : database.listCollectionNames()) { System.out.println(name); } } }
При компиляции вышеупомянутая программа дает следующий результат —
Connected to the database successfully Collection created successfully myCollection myCollection1 myCollection5
Оставшиеся методы MongoDB save (), limit (), skip (), sort () и т. Д. Работают так же, как описано в следующем уроке.