Основи MongoDB
Last updated
Last updated
MongoDB - нереляційна база даних типу NoSQL. Вона заснована на моделі документів. Тобто об'єкти даних зберігають у форматі окремих документів у колекції. В той час як SQL бази являти собою табличний формат даних.
Для початку визначимо термінологію SQL баз даних і NoSQL.
база даних
база даних
таблиця
колекція
рядок
документ
стовпець
поле
індекс
індекс
joins
$lookup
Почнемо з прикладу SQL баз даних. Вони складаються з таблиць. кожен рядок це по суті один запис, а стовпець це значення певного параметра цього запису.
У базі даних MongoDB містяться колекції. Один запис в колекції називають документом, а відповідно якесь значення всередині - полем. На відміну від SQL баз даних, тут немає суворої схеми збереження даних і може бути різна структура.
Документ – це одиниця збереження даних. Його максимальний розмір складає 16 Mб. Дані в документі зберігаються у форматі JSON. Для кожного окремого документа його структура може відрізнятися. Всередині можна зберігати вбудовані масиви чи обʼєкти.
Кожен документ має особливе поле _id. Це унікальний ідентифікатор кожного документа. При створенні запису йому базою даних надається свій унікальний id. Це первинний ключ і це не просто рядок чи число - це по суті обʼєкт типу ObjectId.
Цей ідентифікатор має довжину 12 байтів і формується за такою структурою:
64beb1bf - 4 байтове значення, позначення секунди починаючи з останнього запису
56ef3c - 3 байтове значення ідентифікатора машини
7892 - 2 байтове значення ідентифікатора процесу
31a1b0 - 3 байтовий лічильник випадкового значення