Введение в Node.js и MongoDB

[ad_1]
⭐
Введение в Node.js и MongoDB
Node.js — это быстро развивающаяся технология, которая с удивительной скоростью обгоняет мир серверного программирования. MongoDB — это технология, которая произвела революцию в использовании баз данных. Вместе, два инструмента представляют собой мощную комбинациюблагодаря тому, что они оба используют JavaScript и JSON.
Node.js — это быстро развивающаяся технология, которая с удивительной скоростью обгоняет мир серверного программирования. MongoDB — это технология, которая произвела революцию в использовании баз данных. Вместе, два инструмента представляют собой мощную комбинациюблагодаря тому, что они оба используют JavaScript и JSON.
На первый взгляд, знакомство с Node.js и MongoDB может показаться трудоемким и болезненным. Читайте дальше, чтобы узнать, как быстро и легко пользоваться этими инструментами. Прежде чем начать, давайте кратко рассмотрим, что предлагает эта статья:
- Настройте базовый сервер с Node.js.
- Установите соединение с базой данных MongoDB.
- Узнайте, как выбирать записи с помощью вызовов базы данных.
- Наконец, создайте и обработайте HTML-страницу с нашими недавно полученными данными.
Установка необходимых технологий
Давайте начнем с настройки базового сервера Node.js. Если вы еще этого не сделали, установите Node.js, следуя инструкциям на странице How to Node или в одной из многочисленных статей, подобных этой, гуляющих по сети. Следующее, что нам понадобится, это небольшая база данных MongoDB; Я уже создал одну для нас для тестирования, но если вы хотите создать свою собственную, настройте учетную запись в MongoLab, которая предоставит вам бесплатный хостинг для вашей собственной базы данных (и предложит замечательную объем платных услуг).
Дальнейшее чтение на SmashingMag:
- Парсинг веб-страниц с помощью Node.js
- Плавание с Sails.js: фреймворк в стиле MVC для Node.js
- Почему вам следует прекратить локальную установку среды WebDev
- Подробное введение в Webpack
Теперь, когда Node.js настроен и у нас есть база данных для подключения, нам нужно установить MongoJS — библиотеку, которую Node.js использует для связи с MongoDB. К счастью для нас, когда вы установили Node.js, вы также установили npm, что упрощает установку MongoJS. Просто откройте терминал, перейдите в каталог, где будет находиться ваш сервер Node.js, и запустите npm install mongojs
. Обо всем остальном позаботится автоматический менеджер пакетов.
Изучение кода сервера
Закончив предварительные работы, мы можем приступить к написанию реального сервера Node.js, который мы будем запускать на локальном хосте для целей этого руководства. Первое, что нужно сделать с любым приложением Node.js, — это включить модули, которые мы будем использовать. В этом случае нам понадобится модуль HTTP, который используется для создания сервера, и модуль MongoJS, который мы установили ранее:
var http = require("http"),
mongojs = require("mongojs");
После того, как мы включили модули, которые собираемся использовать, нам нужно подключиться к базе данных MongoDB. Для этого нам нужны две вещи. Первый — это URI подключения к MongoDB. Это предоставляется по умолчанию, когда вы создаете сервер в MongoLab, но просто для записи вы можете найти спецификацию для URI подключения MongoDB в документации. Во-вторых, вам понадобится массив коллекций (которые представляют собой «группы документов MongoDB»), к которым вы хотите получить доступ в этой базе данных. В этом случае мы просто хотим получить доступ к одной коллекции, но вы можете вставлять в массив столько, сколько хотите.
Когда у вас есть URI базы данных и массив коллекций, к которым вы хотите получить доступ, установить соединение с базой данных очень просто:
var uri = "mongodb://demo_user:demo_password@ds027769.mongolab.com:27769/demo_database",
db = mongojs.connect(uri, ["demo_collection"]);
Нам также нужно создать наш сервер, используя модуль HTTP:
var server = http.createServer(requestHandler);
Когда мы называем createServer
функция, она ожидает, что функция будет обрабатывать все входящие запросы. Это функция, которая вызывается, когда браузер запрашивает данные с сервера. Функция обработки запросов, которую мы удачно назвали requestHandler
, передаются две переменные: переменная запроса, которая представляет запрос страницы браузера, и переменная ответа, которая представляет собой ответ, который мы даем браузеру. Давайте посмотрим на requestHandler
функция:
function requestHandler(request, response) {
Первое, что мы сделаем в обработчике запросов, — это сообщим браузеру, в каком формате будет наш ответ — HTML, обычный текст или что-то совершенно другое — чтобы он знал, как обрабатывать полученные данные.
response.writeHead(200, {"Content-Type": "text/html"});
Следующее, что мы сделаем — и это самое интересное — запросим базу данных, с которой мы связались ранее, чтобы у нас была информация для работы. Мы передадим объект JSON в find
функцию, указав свойство, которое мы хотели бы, чтобы возвращенные записи были общими. То find
функция возвращает курсор к документам, возвращенным нашим запросом; этот курсор является итерируемым и содержит все данные, которые нам нужны.
db.demo_collection.find({"color": "red"}, function(err, records) {
Когда дела идут на юг
В рамках find
нам даются две переменные для работы: err
и records
. То err
переменная содержит любые данные об ошибке, если она произошла. Во-первых, мы проверяем, не возникли ли какие-либо ошибки при попытке запроса к базе данных. Если проблем не возникло, то продолжаем. Но если бы это было так, у нас не было бы никаких данных для работы, а остальная часть функции была бы бесполезна, поэтому мы бы просто зарегистрировали проблему и немедленно вернулись; нет смысла выполнять остальную часть функции.
if(err) {
console.log("There was an error executing the database query.");
response.end();
return;
}
Хорошо, теперь у нас есть данные, содержащиеся в курсоре. records
, нам нужно повторить эти данные и создать строку HTML, которую сервер передаст браузеру. Мы создадим переменную для хранения нашей HTML-строки, а затем пройдемся по нашим записям. Затем мы создадим строку для каждого документа и добавим ее к основной строке HTML:
var html="<h2>Vehicles with a red finish</h2>",
i = records.length;
while(i--) {
html += '<p><b>Name:</b> '
+ records[i].name
+ ' <br /><b>Number of wheels:</b> '
+ records[i].wheels
+ '<br /><b>Color: </b>'
+ records[i].color;
}
Наконец, как только мы закончим просмотр всех записей, мы напишем наш ответ, сгенерировав строку HTML с помощью быстрого while
петля. Теперь Node.js предлагает гораздо больше методов для отображения HTML, наиболее распространенным из которых является обслуживание статической страницы (часто с помощью такой среды, как Express), но создание строки — это быстрый и грязный способ отображения некоторого базового HTML. .
Эта конкретная строка HTML содержит данные для всей страницы. Итак, как только мы позвоним response.write
мы будем знать, что у клиента есть вся необходимая информация, и завершим ответ, чтобы он мог загрузить страницу.
response.write(html);
response.end();
Чудо-близнецы, активируйте!
Это почти все, что нужно для создания базового HTML-сервера с Node.js и использования этого сервера для подключения к базе данных MongoDB. Последнее, что нужно сделать, это указать серверу прослушивать любой порт, который мы укажем:
server.listen(8888);
Выполнение этого кода запустит локальный сервер, к которому вы можете получить доступ через порт 8888 (localhost:8888
в вашем браузере).
Вывод
Как видите, настроить сервер Node.js и подключить его к базе данных MongoDB очень просто, по крайней мере, по сравнению с большинством технологий, конкурирующих с этим мощным дуэтом. Конечно, настройка безопасности и правильная обработка ошибок могут потребовать немного больше работы, но ресурсы для работы с Node.js и MongoDB быстро растут. Вместе эти инструменты предлагают быстрое, но чрезвычайно гибкое решение, которое штурмом берет мир серверного программирования.
Дальнейшее чтение
- «Установите MongoDB», MongoDB Узнайте, как установить локальную копию MongoDB.
- «Учебное пособие: MongoDB 2.4.2 в OS X с использованием Homebrew», Нико Рески Подробное руководство по настройке MongoDB в OS X с помощью Homebrew.
- «Простое пошаговое руководство для разработчиков интерфейсов по началу работы с Node.JS, Express, Jade и MongoDB», Кристофер Бюхелер. В этом руководстве рассматривается более сложное приложение Node.js и MongoDB.
- «Руководство по драйверу MongoDB для Node.js», MongoDB Если вы серьезно относитесь к MongoDB, возможно, вам стоит ознакомиться с документацией.

(иль, ал)
[ad_2]
Source: https://smashingmagazine.com
Заключение
Вы ознакомились с статьей — Введение в Node.js и MongoDB
Пожалуйста оцените статью, и напишите комментарий.