Лабораторная работа 5. Основы работы в MongoDB
Цель работы
Знакомство с нереляционной документоориентированной СУБД MongoDB. Работа с БД из среды Python.
Задание
- Создать подключение к СУБД Mongodb,
- Создать коллекцию документов.
- Написать пример документа в формате json из предметной области лабораторных работ 2 и 3.
- Добавить в коллекцию четыре различных документа.
- Вывести список документов в коллекции со всеми атрибутами, выполнив запрос к базе данных.
- Вывести основные атрибуты части документов коллекции, удовлетворяющих некоторому условию (использовать условия «меньше», «больше»)
Примеры документов
- Библиотека. Читательский билет с записями о книгах, находящихся у читателя.
- Аптека. Товарный чек с информацией о купленных лекарствах.
- Больница. Информация о лечении: пациент, врач, дата начала, дата окончания, виды лечения (список).
- Предприятие. Информация о сотруднике и истории его назначений.
- Курьерская доставка. Информация о посылке: отправитель (Ф.И.О., адрес отправления, паспортные данные), получатель (Ф.И.О, адрес получения, паспортные данные), масса и габариты посылки, информация о курьере и датах отправления и получения.
- Повышение квалификации. Список курсов университета: Даты проведения, информация о преподавателе, наименование, количество часов, записанные на курсы сотрудники (до 3).
- Научная конференция. Программа конференции: дата и наименование конференции, несколько секций со списком статей в каждой секции.
- Прокат велосипедов. Информация об использовании велосипеда: дата начала, дата окончания, марка (тип), информация о клиенте, стоимость.
- Футбольный турнир (РФПЛ). Игры: команда 1, основной состав (достаточно указать 3 игроков), команда 2, основой состав (достаточно указать 3 игроков), счет, информация о голах.
- Пиццерия. Информация о пиццерии со списком продаваемых пицц.
- Кулинарная книга. Рецепт.
- Поликлиника. Информация о посещениях: дата, врач, посетитель, диагноз.
- Сессия. Результаты экзаменов с указанием информации о преподавателе и списке студентов с оценками (до 5 студентов).
- Расписание занятий. Расписание занятий на 1 день (для нескольких групп)
- Социальная сеть. Изобразите диаграмму сущность связь для социальной сети Сообщения с главной страницы: дата, текст, комментарии (автор, текст).
- Интернет-магазин мебели. Товарный чек с информацией о товарах, покупателе и магазине.
- Онлайн кинотеатр. Информация о пользователе: Имя, предпочтения, список просмотренных фильмов (жанр, наименование, дата просмотра, длительность).
- Бронирование авиабилетов. Информация о заказанных билетах: пункт А в пункт Б, дата, вес багажа, тип меню.
- Музыкальные альбомы. Музыкальные альбомы.
- Бронирование авиабилетов. Брони.
- Курсы и студенты. Проекты: дата начала и окончания, информация о сотрудниках в проекте (до трех): имя, идентификационный номер, адрес, зарплата и дата рождения.
- Галереи. Несколько групп со списком произведений в каждой группе.
- Сеть отелей. Информация об истории бронирования номеров: дата начала, окончания, список постояльцев, стоимость.
- Прокат автомобилей. Список автомобилей с историей их использования.
- КХЛ. Информация об играх: команда 1, основной состав (достаточно указать 3 игроков), команда 2, основой состав (достаточно указать 3 игроков), счет, информация о голах.
- Книжный онлайн-магазин. Товарный чек.
- Мастерская. Коллекция документов с информациях о заказах: дана начала и окончания, имя мастера, имя клиента, техника, ее вид, список работ.
- ЖЭК. Список заявок: дана начала и окончания работ, адрес клиента, бригада специалистов со списком специалистов.
- Парки. Информация о трех парках, с указанием наименования, площади, место адреса и списка павильонов (до трех): наименование, тип (кафе, продуктовый, развлекательный, прокат вещей), занимаемая площадь.
Методические рекомендации
Имя пользователя и пароль совпадают с именем и паролем для подключения к СУБД MySQL в лабораторной работе 3. Имя базы данных совпадает с именем пользователя.
Документ в формате json
{
id: 1155151,
date: "2020-05-20",
buyer: "Луаврик Л. Луаврик",
items: [
{
code: 41155415,
name: "256 ГБ SSD-накопитель Transcend 230S",
price: 4750.00
},
{
code: 115521856,
name: "Зеркальная камера Nikon D3500 Kit 18-140mm VR AF-S",
price: 48000.00
}
],
total: 52750.00,
payment_type: "наличные"
}