Основи MongoDB

MongoDB - нереляційна база даних типу NoSQL. Вона заснована на моделі документів. Тобто об'єкти даних зберігають у форматі окремих документів у колекції. В той час як SQL бази являти собою табличний формат даних.

Структура бази даних

Для початку визначимо термінологію SQL баз даних і NoSQL.

SQL
MongoDB

база даних

база даних

таблиця

колекція

рядок

документ

стовпець

поле

індекс

індекс

joins

$lookup

Почнемо з прикладу SQL баз даних. Вони складаються з таблиць. кожен рядок це по суті один запис, а стовпець це значення певного параметра цього запису.

У базі даних MongoDB містяться колекції. Один запис в колекції називають документом, а відповідно якесь значення всередині - полем. На відміну від SQL баз даних, тут немає суворої схеми збереження даних і може бути різна структура.

Документ – це одиниця збереження даних. Його максимальний розмір складає 16 Mб. Дані в документі зберігаються у форматі JSON. Для кожного окремого документа його структура може відрізнятися. Всередині можна зберігати вбудовані масиви чи обʼєкти.

Кожен документ має особливе поле _id. Це унікальний ідентифікатор кожного документа. При створенні запису йому базою даних надається свій унікальний id. Це первинний ключ і це не просто рядок чи число - це по суті обʼєкт типу ObjectId.

_id: ObjectId('64beb1bf56ef3c789231a1b0')

Цей ідентифікатор має довжину 12 байтів і формується за такою структурою:

64beb1bf - 4 байтове значення, позначення секунди починаючи з останнього запису

56ef3c - 3 байтове значення ідентифікатора машини

7892 - 2 байтове значення ідентифікатора процесу

31a1b0 - 3 байтовий лічильник випадкового значення

Last updated