Sobes.tech
Назад к вопросам
Junior — Middle
82

Можете объяснить, что такое MongoDB и как она работает как NoSQL база данных?

Компании, где спрашивали
RutubeRutube

Ответ от нейросети

sobes.tech AI

MongoDB — это документоориентированная NoSQL база данных, которая хранит данные в формате BSON (расширенный JSON). В отличие от реляционных баз, MongoDB не использует таблицы и строки, а работает с коллекциями документов, что обеспечивает гибкость структуры данных.

Основные особенности MongoDB:

  • Гибкая схема: документы в одной коллекции могут иметь разную структуру.
  • Масштабируемость: поддерживает горизонтальное масштабирование через шардинг.
  • Высокая производительность: за счёт индексов и встроенного кэширования.
  • Поддержка сложных запросов: агрегации, фильтрация, сортировка.

В Go для работы с MongoDB обычно используется официальный драйвер go.mongodb.org/mongo-driver. Пример подключения и вставки документа:

import (
    "context"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    "log"
)

func main() {
    client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        log.Fatal(err)
    }
    collection := client.Database("testdb").Collection("users")

    user := bson.D{{"name", "Ivan"}, {"age", 30}}
    _, err = collection.InsertOne(context.TODO(), user)
    if err != nil {
        log.Fatal(err)
    }
}

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