вторник, 28 августа 2018 г.

A programmer: JavaScript #5

Грусть-печалька, с одной стороны, она же большая радость, с другой стороны, а именно: я нашел классное описание всего того, что я хотел сделатьь и описать здесь. Печалька потому, что уже кто-то это сделал, а радость - потому что уже кто-то это сделал, и я могу почитать и лучше понять! Вот такая вот диалектика, впрочем не в первый раз. А сам ресурс вот - спасибо автору:

 Building a Simple CRUD Application with Express and MongoDB

Итак, мы остановились на том, что программа обрабатывает наш POST-запрос и выводит то, что ввёл пользователь, в консоль. А нам надо в базу данных. Значит, продолжаем:

8. Устанавливаем MongoDB в проект:

npm install mongodb --save

9. Теперь мы можем использовать MongoClient - основной класс для работы с базами данных:



Комментарии не очень видны, поэтому ещё раз:

  • в строке 1 мы подключили модуль mobngodb и сразу взяли из него MongoClient;
  • в строке 2 мы указали url для нашей базы данных - помните, мы говорили, что 27017 - это порт, который используется для работы с базой данных?;
  • в строке 4 мы создаем соединение с указанным url, если подключение произошло без выброса ошибки (err), то мы имеем в нашем распоряжении объект (db) для работы с базой данных (оногда его обозначают client);
  • в строке 5 мы через него получаем нашу базу данных (users), которая теперь внутри программы выступает как collection;
  • в 7 строке мы вставляем в базу данных тестовый объект (документ), созданные в строке 6 (просто чтобы увидеть, что у нас всё работает);
  • в строке 9 проверяем, нет ли ошибки;
  • в строке 13 выводим результат в консоль;
  • в строке 15 закрываем соединение.

В итоге в консоли видим такой вывод:


Здесь _id - это уникальный идентификатор элемента коллекции, который создается автоматически.

Как видим - всё работает! Собственно говоря, мы могли бы не добвалять ввод объекта в базу данных, а просто подключиться, проверить подключение и выйти. Тогда всё выглядело бы ещё проще:


А ещё один хороший ресурс вот:

Ещё один хороший ресурс

Комментариев нет: