Работа с MongoDB и Kotlin

НАВИГАЦИЯ ПО СТРАНИЦЕ

Подключение к MongoDB
Операции с коллекторами: Вставка документа Получение всех документов Обновление документа Удаление документа

Для работы с MongoDB в Kotlin, вы можете использовать официальный драйвер MongoDB для Kotlin/Java, который предоставляется MongoDB. В Kotlin также доступны различные библиотеки, облегчающие взаимодействие с MongoDB. Давайте рассмотрим пример использования официального драйвера MongoDB.

Подключение к MongoDB

Для начала, вам нужно добавить зависимость в ваш проект. Если вы используете Maven, добавьте следующую зависимость в файл pom.xml:

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-driver-sync</artifactId>
    <version>4.4.0</version> <!-- Проверьте актуальную версию на официальном сайте MongoDB -->
</dependency>

Если вы используете Gradle, добавьте следующую зависимость в файл build.gradle.kts:

implementation("org.mongodb:mongodb-driver-sync:4.4.0") // Проверьте актуальную версию на официальном сайте MongoDB

Теперь вы можете использовать драйвер для подключения к MongoDB:

import com.mongodb.client.MongoClients
import com.mongodb.client.MongoCollection
import com.mongodb.client.MongoDatabase
import org.bson.Document

fun main() {
    // Подключение к MongoDB
    val client = MongoClients.create("mongodb://localhost:27017")
    val database: MongoDatabase = client.getDatabase("mydatabase")
    val collection: MongoCollection<Document> = database.getCollection("mycollection")

    // Добавление документа в коллекцию
    val document = Document("name", "John Doe").append("age", 30)
    collection.insertOne(document)

    // Закрываем соединение
    client.close()
}

Операции с коллекторами:

Теперь, когда у вас есть подключение, вы можете выполнять различные операции с коллекциями:

Вставка документа:

val document = Document("name", "Alice").append("age", 25)
collection.insertOne(document)

Получение всех документов:

val cursor = collection.find().iterator()
while (cursor.hasNext()) {
    val document = cursor.next()
    println(document.toJson())
}

Обновление документа:

val filter = Document("name", "John Doe")
val update = Document("\$set", Document("age", 31))
collection.updateOne(filter, update)

Удаление документа:

val filter = Document("name", "Alice")
collection.deleteOne(filter)

Это базовые примеры. Помните, что в реальном приложении вы должны обрабатывать ошибки и следить за ресурсами. Также, важно сохранять конфиденциальную информацию, такую как строки подключения, в безопасности.