MongoDB Java CRUD Примерен урок

MongoDB Java CRUD Пълен урок

Въведение

MongoDB е популярна NoSQL база данни, която е известна със своята гъвкавост и мащабируемост. Тя използва документ-ориентиран модел на данни и предоставя богат набор от функции като индексиране, набори от реплики и управление на потребителите. В този урок ще разгледаме основите на използването на MongoDB с Java, фокусирайки се върху основните CRUD (създаване, четене, актуализиране и изтриване) операции.

Свързване към MongoDB

Първата стъпка за взаимодействие с база данни MongoDB е установяване на връзка. За това използваме драйвера за Java на MongoDB. Следните стъпки показват как да се свържете с MongoDB с помощта на Java:

java
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;

public class ConnectToMongoDB {

public static void main(String[] args) {
// Свързване с MongoDB на локалния хост, порт 27017
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Печат на съобщение за потвърждение
System.out.println("Свързване с MongoDB успешно!");

// Затваряне на връзката
mongoClient.close();
}
}

Създаване на база данни и колекция

След като установим връзка, можем да създадем база данни и колекция. Колекциите в MongoDB са подобни на таблиците в релационните бази данни и съхраняват документи.

java
import com.mongodb.client.MongoDatabase;

public class CreateDatabaseAndCollection {

public static void main(String[] args) {
// Свързване с MongoDB
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Създаване на база данни "mydb"
MongoDatabase mydb = mongoClient.getDatabase("mydb");

// Създаване на колекция "mycollection"
mydb.createCollection("mycollection");

// Печат на съобщение за потвърждение
System.out.println("База данни и колекция създадени успешно!");

// Затваряне на връзката
mongoClient.close();
}
}

Създаване на документ

Документите в MongoDB са JSON-подобни структури, които съдържат произволни двойки ключ-стойност. За да създадем документ, използваме метода insertOne().

java
import com.mongodb.client.MongoCollection;

public class CreateDocument {

public static void main(String[] args) {
// Свързване с MongoDB
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Получаване на колекция "mycollection"
MongoCollection<Document> mycollection = mongoClient.getDatabase("mydb").getCollection("mycollection");

// Създаване на документ за вмъкване
Document doc = new Document("име", "Джон")
.append("възраст", 30)
.append("град", "Ню Йорк");

// Вмъкване на документа в колекцията
mycollection.insertOne(doc);

// Печат на съобщение за потвърждение
System.out.println("Документът е създаден успешно!");

// Затваряне на връзката
mongoClient.close();
}
}

Четене на документ

За да прочетем документ, използваме метода find(). Методът find() връща курсор, който предоставя итерация върху набора от документи, които отговарят на критериите за търсене.

java
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCursor;

public class ReadDocument {

public static void main(String[] args) {
// Свързване с MongoDB
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Получаване на колекция "mycollection"
MongoCollection<Document> mycollection = mongoClient.getDatabase("mydb").getCollection("mycollection");

// Търсене на всички документи
FindIterable<Document> results = mycollection.find();

// Итериране през резултатите и печат на документите
MongoCursor<Document> cursor = results.iterator();
while (cursor.hasNext()) {
Document doc = cursor.next();
System.out.println(doc.toJson());
}

// Затваряне на връзката
mongoClient.close();
}
}

Актуализиране на документ

За да актуализираме документ, използваме метода updateOne(). Методът updateOne() приема два аргумента: филтър и документ за актуализация.

java
import com.mongodb.client.MongoCollection;
import com.mongodb.client.model.Updates;

public class UpdateDocument {

public static void main(String[] args) {
// Свързване с MongoDB
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Получаване на колекция "mycollection"
MongoCollection<Document> mycollection = mongoClient.getDatabase("mydb").getCollection("mycollection");

// Филтър за намиране на документа, който искаме да актуализираме
Document filter = new Document("име", "Джон");

// Документ за актуализация, съдържащ промените, които искаме да направим
Document update = Updates.set("възраст", 31);

// Актуализиране на документа
mycollection.updateOne(filter, update);

// Печат на съобщение за потвърждение
System.out.println("Документът е актуализиран успешно!");

// Затваряне на връзката
mongoClient.close();
}
}

Изтриване на документ

За да изтрием документ, използваме метода deleteOne(). Методът deleteOne() приема филтър, за да определи документа, който искаме да изтрием.

java
import com.mongodb.client.MongoCollection;

public class DeleteDocument {

public static void main(String[] args) {
// Свързване с MongoDB
MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");

// Получаване на колекция "mycollection"
MongoCollection<Document> mycollection = mongoClient.getDatabase("mydb").getCollection("mycollection");

// Филтър за намиране на документа, който искаме да изтрием
Document filter = new Document("име", "Джон");

// Изтриване на документа
mycollection.deleteOne(filter);

// Печат на съобщение за потвърждение
System.out.println("Документът е изтрит успешно!");

// Затваряне на връзката
mongoClient.close();
}
}

Заключение

В този урок разгледахме основите на използването на MongoDB с Java, като разгледахме основните CRUD операции. Покрихме как да се свържем с MongoDB, да създадем база данни и колекция, да създадем, прочетем, актуализираме и изтрием документи. Чрез разбирането на тези основни концепции, разработчиците могат да използват мощта на MongoDB за изграждане на мащабируеми и гъвкави приложения за съхранение на данни.

Често задавани въпроси (FAQs)

1. Каква е разликата между MongoDB и SQL базите данни?

MongoDB е NoSQL база данни, която използва документ-ориентиран модел на данни, докато SQL базите данни използват релационен модел на данни.

2. Защо да използвам MongoDB вместо SQL база данни?

MongoDB е подходяща за приложения, които изискват гъвкавост, мащабируемост и лесна обработка на йерархични данни.

3. Как да създам индекс в MongoDB?

Можете да създадете индекс в MongoDB с помощта на метода createIndex().

4. Как да установя връзка със защитен екземпляр на MongoDB?

Трябва да предоставите потребителско име и парола при създаване на връзката.

5. Как да защитя моята база данни MongoDB?

Можете да използвате функции като удостоверяване, разрешения и шифроване, за да защитите вашата база данни MongoDB.

  Коригирайте приложенията, които не работят на Roku TV