Средний
5 уроков
Курс
Пишем API на NodeJS
«Node.js — это эзотерическая игрушка, веселая задумка для переноса языка браузерных сценариев на «новые колеса»». Данный видеокурс научит вас устанавливать NodeJS правильно, чтобы затем вам было удобно работать, познакомит с фреймворком express. На видеоуроках будет реализован базовый веб-сервер и описаны роуты для списка исполнителей и конкретного исполнителя, осуществлено добавление, обновление и удаление наших исполнителей. На нашем видеокурсе вы также узнаете о такой полезной утилите, как Postman и о многом другом.

#5 — Реализуем добавление и обновление исполнителей в базе данных

Приветствуем вас на пятом видеоуроке по NodeJS. Сегодня мы порефакторим работу с базой данных, а также реализуем обновление и удаление исполнителей из базы данных.

Итак, для того чтобы обновить базу исполнителей, изменим метод put:

app.put( ‘/artists/:id’, function (req, res) {
db.collection(‘artists’).updateOne(
{ _id: ObjectID(req.perems.id) },
{name: req.body.name },
function (err, result) {
if (err) {
console.log(err);
return res.sendStatus(500);
}
res.sendStatus(200);
}
})

Теперь также изменим запрос delete:

app.delete (‘/artists/:id’, function (req, res) {
db.collection(‘artists’).deleteOne(
{ _id: ObjectID(req.perems.id) },
function (err, result) {
if (err) {
console.log(err);
return res.sendStatus(500);
}
res.sendStatus(200);
}
})

Итак, мы закончили создание API для NodeJS. Для упрощения работы с проектом, стоит разбить его на более мелкие файлы. Создадим файл db.js – модуль, который позволит работать с базой оттуда. Сначала подключим этот модуль в файле server.js, написав

var db = require(‘./db’);

Файл db.js:

var MongoClient = require(‘mongodb’).MongoClient;
var state = {
db: null
};

Эта часть позволяет нам подключать базу данных в нескольких местах, не перезаписывая ее.

exports.connect = function (url, done) {
if(state.db) {
return done();
}
MongoClient.connect(url, function (err, db) {
if(err) {
return done(err);
}
state.db = db;
done();
})
}

Чтобы обеспечить доступность к исходной базе данных (db) из MongoClient, необходимо написать следующую часть:

exports.get = function () {
return state.db;
}

Теперь можно подчистить server.js, заменив MongoClient на db, db.collection на db.get().collection и убрав некоторые другие параметры.

Таким образом, на сегодняшнем видеоуроке будут реализованы put, delete для обновления и удаления данных в базе, а также будет образована обертка вокруг db, и он будет вынесен в отдельный модуль, тем самым абстрагировавшись от базы данных. До новых встреч на следующих видеоуроках!

Приятного всем просмотра! Учитесь с удовольствием! Всегда ваш Loftblog!

Материалы к уроку:
Делись:

Оставь комментарий!

One thought on “#5 — Реализуем добавление и обновление исполнителей в базе данных

  1. Boris_91:

    Пользуюсь WebStorm, npm. У меня все хорошо получалось+- до момента переноса базы в отдельный файл. После сервер не запускался с ошыбкой collection is not a function. (Я использовал db.get().collection…..)Может я что-то упустил?

Добавить комментарий

Рекомендуемые курсы