Встановлення локальної MongoDB і основні команди

Встановлення і запуск

Просунуті розробники можуть встановити MongoDB локально на комп'ютер. Скористаємося інструкцією встановлення MongoDB для MacOSarrow-up-right.

  1. Якщо на комп'ютері не встановлено Xcode, то потрібно через термінал встановити командний рядок Xcode.

terminal
xcode-select --install
  1. На комп'ютері потрібно встановити Homebrewarrow-up-right, який дозволяє з командного рядка встановлювати додаткові пакети.

terminal
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Тепер через Homebrew потрібно встановити формулу для роботи з MongoDB

terminal
brew tap mongodb/brew
  1. Оновити Homebrew до останньої версії

terminal
brew update
  1. Встановити локальну версію MongoDB 6.0 Community Edition.

terminal
brew install mongodb-community@6.0
  1. Щоб запустити локальну версію MongoDB виконайте таку команду в терміналі.

terminal
brew services start mongodb-community@6.0
  1. Щоб зупинити MongoDB виконайте таку команду в терміналі

terminal
brew services stop mongodb-community@6.0

Додаткові налаштування можна перевірити на офіційному сайті MongoDB.

Щоб під'єднатися до локальної версії MongoDB використовуємо таку адресу.

Можна скористатися програмою Compass

Можна під'єднатися і за допомогою програми Robo 3T.

Основні команди MongoDB

mongosh - команда для заходу до MongoDB через термінал

show dbs - Команда, щоб переглянути, які є наразі бази даних в MongoDB.

use - Команда для створення бази даних, або звернення до неї, якщо вже існує. (Якщо бази не було то створить, якщо була то звернеться до неї)

db - Команда, яка покаже в якій базі даних ми перебуваємо

show collections - показати колекції, які є в базі даних. Якщо Колекцій немає, то нічого не покаже.

insertOne - метод додавання одного документа до колекції в базі даних. Перебуваючи в базі даних вказуємо через крапку db потім назву колекції, потім назву метода і в нього передаємо як аргумент обʼєкт який хочемо записати в колекцію.

Як бачимо, згенерувався унікальний _id, структуру якого розглядали раніше. Подивимося через Compass і Robo 3T на структуру нашої бази даних. У базі даних users створилася колекція users, а в ній документ з переданими даними у формі обʼєкта.

insertMany - Метод додавання кількох документів до колекції в базі даних. передають масив обʼєктів. А метод insert може передавати як один, так і кілька документів.

Обмеження щодо використання імен ключів:

  1. Символ $ не може бути першим символом в імені ключа

  2. Ім'я ключа не може містити символ крапки .

  3. Не використовуйте ім'я _id

find - Метод, який робить вибірку із колекції в базі даних за певним параметром. Повертає масив обʼєктів де є збіг. (Якщо не вказати аргумент, то поверне всю колекцію).

Вибірки за умовами. Можна вибірку робити прописуючи умови пошуку. Для цього використовують спеціальні оператори (MongoDB Operators). Наприклад $arrow-up-rightltarrow-up-right - less than, вибере все менше за вказане число. $arrow-up-rightgtarrow-up-right - greater than, вибере все що більше за вказане число. ($eq - дорівнює, $gte - більше або дорівнює, $lte - менше або дорівнює

Можна, наприклад, вибірку з бази робити використовуючи логічні оператори (наприклад $arrow-up-rightorarrow-up-right для об'єднання вибірок або $and, коли перетинаються вибірки тощо).

Якщо ми хочемо якесь поле прибрати з відповіді, то потрібно його вказати другим параметром.

А якщо навпаки хочемо лишити поля, а всі інші не повертати, то пишемо другим параметром обʼєкт із назвами параметрів і 1 після двокрапки {year: 1}. Тоді в результаті будуть тільки зазначені поля. Поле _id виводиться завжди. його можна прибрати тільки примусово _id: 0.

Якщо всередині документа є поле яке представляє об'єкт, то вибірку і пошук можемо робити через крапку і назву параметра.

limit - обмеження вибірки в межах вказаного числа

skip - Пропускає вказану кількість документів із вибірки

sort - сортування вибірки за певним полем за зростанням (1) або спаданням (-1). наприклад sort({ name: 1 })

count - повертає кількість документів у колекції.

$exists - оператор який включає до вибірки тільки ті документи які містять певне поле

$type - повертає у вибірку тільки ті документи в яких поле є певного типу

$regex - задає регулярний вираз якому має відповідати поле.

Результати вибірки називають курсорами

Вся докладна документація на сайті проєкту MongoDB.

deleteOne, deleteMany - методи видалення одного або документів із колекції, які задовольняють умову.

Також документ із колекції можна видалити методом remove (синтаксис такий само).

updateOne, updateMany - методи оновлення одного або документів із колекції, які задовольняють умову. Першим параметром передають умову, а другим, обʼєкт з полями, які треба оновити.

Покликання:

MongoDBarrow-up-right

Інсталяція MongoDBarrow-up-right

Last updated