Page 64 - 6182
P. 64
Надалі при необхідності робити CRUD-операції будемо
користуватися моделлю Subject. Нижче, на рисунку 8.7, наведено
приклад використання моделі в додатку express для запису нового
предмету і отримування інформації про всі зареєстровані предмети
у форматі JSON.
Рисунок 8.7 – Приклад виводу і запису даних
Зауважимо, що для використання можливостей бібліотеки
mongoose її необхідно підключити, а для роботи з СУБД MongoDB
потрібно зробити під‘єднання, тому обов‘язковими є наступні дві
інструкції:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/testdb');
Проаналізуємо роботу додатку, програмний код якого
наведено на рисунку 8.7. При запиті ―/‖ в адресному рядку браузера
відбудеться виклик методу Subject.find(), який, як вже відомо,
повертає всі документи з колекції. Другим параметром цього
методу є callback-функція, яка приймає два параметри: перший –
помилка при виконанні, якщо така мала місце; другий – масив
об‘єктів – документи колекції. При реєстрації нового предмету
було застосовано підхід випадкової генерації назви предмету
шляхом виклику Math.random() разом із методом toFixed(2), який
відсікає дробову частину дійсного числа, окрім двох перших чисел
після коми. Надалі викликається метод save моделі, який приймає
callback-функцію з двома параметрами. Аналогічно попередньому
64