Разные СУБД / Лаба 3 / БД лаб 3
.docxЦель работы: познакомиться с основным функционалом и особенностями работы с NoSQL БД MongoDB.
Задание 1. Установить необходимые приложения для работы с MongoDB: сервер mongod, клиент mongosh и графический клиент MongoDB Compass.
Задание 2. Создать БД, включающую две коллекции документов.
Задание 3. Выполнить основные операции с созданной БД, используя консольную оболочку mongosh.
Ход работы
Задание 1
Установили MongoDB compass
Задание 2
Создали и заполнили две коллекции Американских и Европейских фильмов.
Задание 3
Сделали запрос полного набора документов из созданной БД. С начало выбрали базу данных use PovolyaevDB, потом вывели весь набор db.getCollection('European movies').find({})
db.getCollection('American movies').find({})
Запросы с фильтрацией.
Фильтрация по жанру только драмы
db.getCollection("European movies").find({ "genre": "Drama" })
Фильтрация по году выпуска, фильмы после 2010 года
db.getCollection("European movies").find({ "year": { "$gt": 2010 } })
Фильтрация по стране
db.getCollection("European movies").find({ "country": "Germany" })
Запросы с проекцией
Выбор только названий фильмов и годов выпуска.
db.getCollection('European movies').find({}, { "title": 1, "year": 1, "_id": 0 })
Выбор только жанров и страны производства фильмов.
db.getCollection(American movies').find({}, { "genre": 1, "country": 1, "_id": 0 })
Выбор названий фильмов и режиссеров
db.getCollection('European movies').find({}, { "title": 1, "director": 1, "_id": 0 })
Использование функций limit, skip и sort.
Функция limit
db.getCollection("European movies").find().limit(5)
Функция skip
db.getCollection("European movies").find().skip(3)
Функция sort. Значение 1 для сортировки по возрастанию года выхода
Запрос count вывел количество записей 11 в коллекции European movies
Запрос distinct вывел все уникальные жанры.
Вывод самого большого значения year
Вывод самого меньшего значения year
С использованием логических операторов и операторов сравнения.
Фильмы с жанром "Drama" и страной производства "France"
Фильмы, выпущенные после 2010 года
"$gt" означает больше, чем заданное значение.
Фильмы с жанром "Comedy" или "Romance"
"$or" — это оператор логического ИЛИ
Фильмы, у которых год выпуска в промежутке с 2000 по 2010 год.
"$gte" означает "больше или равно". "$lte" означает "меньше или равно".
Вывод: в ходе лабораторной работы познакомились с основным функционалом и особенностями работы с NoSQL БД MongoDB.
*Цвета скринов были инвертированы для экономии печати