Page 63 - 6182
P. 63
фільтром документів. Опис операторів можна знайти за адресою:
https://docs.mongodb.com/manual/reference/operator/update/.
Всі вище наведені приклади зроблені з використанням mongo
shell – інтерактивного клієнта MongoDB. В нашому випадку
необхідно використати можливості MongoDB в додатку, який
розробляється на платформі Node.js/Express. Зауважимо, що
оскільки клієнт mongo використовує JavaScript, подібним чином
будуть робитися запити і в коді нашого додатку.
Бібліотека mongoose
Для під‘єднання до сервера MongoDB, маніпуляції з даними,
при використанні платформи Node.js/express, рекомендують
використовувати бібліотеку mongoose, яка дозволяє створювати
моделі сутностей і оперувати ними в базі даних. Розглянемо
приклад використання засобів mongoose разом із фреймворком
express.
Як зазначалося вище, MongoDB є СУБД, які використовують
підхід schemaless, тобто такий, який не потребує визначення
структури документів колекції, але при об‘єктно-орієнтованому
підході бажано повністю визначати моделі сутностей, які будуть
використовуватися в проекті. Нехай, згідно завдання, необхідно
спроектувати систему для збереження інформації про розклад
занять в університеті. Для такої системи однією із важливих
сутностей буде ―Предмет‖, який, наприклад, буде складатися з двох
атрибутів: назва, опис. Також відомо, що назва предмету має бути
унікальною для всієї системи і обов‘язково визначена. Опишемо
модель такої сутності в термінах бібліотеки mongoose (рис. 8.6).
Рисунок 8.6 – Приклад визначення моделі даних
63