Please enable JavaScript.
Coggle requires JavaScript to display documents.
2023_12_21 MongoDB Нереляционные типы баз данных (вебинар часть 2) -…
2023_12_21 MongoDB Нереляционные типы баз данных (вебинар часть 2)
Документоориентированные БД
Основа - иерархически организованная структура
Хорошо подходит для описания профилей
Работа с ней не требует большого числа операций при объединении отдельных таблиц
Аналог объектно-ориентированной модели
Структура документов в одной коллекции может сильно отличаться
Структура описывается в синтаксисе JavaScript Object Notation (
JSON
)
MongoDB
GUI = Mongo Compas
База данных <- коллекция <- набор документов <- набор данных
Каждый документ получает уникальный
id
Автогенерация: длинная строковая хэш-запись, генерируемая по всем полям
при поиске по хэш-индексу необходимо использовать поисковую функцию
id_:ObjectID
('
хэш-значение
)
При указании поля
_id
:
целочисленное значение
можно вводить короткие числовые индексы
При этом можно искать просто по номеру
Присутствуют условные типы данных, но вполне допустима смена типов "на лету"
Строки
Целые
Плавающая точка
Массивы
Работа через встроенную консоль
Коллекции
Создание
db.createCollection()
документы
Создание
db.
collectionName
.insertOne({
поле: значение, поле: значение ...
})
db.
collectionName
.insertMany()
Обновление
db.
collectionName
.updateOne()
$set
- установить
db.
collectionName
.updateMany()
$inc
rement - изменить числовое значение на заданное число
Чтение
db.
collectionName
.findOne()
db.
collectionName
.find()
Искать также удобно по графической оболочке (с использованием фильтра поиска)
формат запроса с фильтром и функцией: {
поле
: {$
функция
:
значение
}}
$eq
- equal
$lt
- less that
$gt
- greater that
формат запроса по конкретному значению одного поля: {
поле
:
значение
}
такие же функции поиска можно вводить при поиске через встроенную консоль
удаление
db.
collectionName
.deleteOne(
_id
)
db.
collectionName
.deleteMany(
параметры поиска
)
При этом допустимо неполное заполнение полей внутри одного документа при его создании и коррекция "на лету"