MongoDB для начинающих: знакомство и установка (часть 1/3)

MongoDB - это система управления базами данных, которая значительно отличается от MySQL. Основная разница заключается в том, что в MySQL запросы пишутся на языке SQL, а в MongoDB на BSON (бинарный JSON). Это значит, что работа с этой системой может осуществляться в основном через JavaScript выражения.

Также MongoDB включает в себя собственную утилиту для выполнения команд, направленных на работу с БД. В данном цикле статей, мы затронем следующие темы:

  • Установка и запуск MongoDB на Windows
  • Работа с MongoDB через консоль
  • Интеграция MongoDB и PHP

Разработчикам не составляет труда быстро освоить работу с Mongo, если они знакомы с JSON. Этот формат использует выражения, которые состоят из пар “ключ”: “значение”.

Почему MongoDB

Между не табличными СУБД многие пользователи делают выбор в пользу MongoDB. Во-первых, данную систему можно установить практически на всех операционных системах (Windows, OSX, Linux). Во-вторых, проект до сих пор активно развивается и с завидной частотой команда разработчиков публикует обновления. Также мне кажется, что MongoDB предоставляет хорошую документацию для начинающих.

MongoDB лучше подходит в тех случаях, когда таблицы можно представить в виде объектов. По-моему, подобные системы лучше использовать при разработке приложений для мобильный устройств. В этом плане, Mongo предоставляет отдельные библиотеки, как для iOS, так и для Adndroid-а.

Ещё один весомый аргумент в пользу MongoDB: работать с данной системой можно на многих языках программирования, таких как C/C++, Python, PHP, Rubym Perl, .NET и даже Node.js.

MongoDB - это реальное решение, если вы хотите отступить от SQL и попробовать что-то новенькое.

Ключевая терминология

Перед тем как приступить к установке MongoDB, давайте разберёмся с основными понятиями.

Как и MySQL, MongoDB может содержать множество баз данных, только вместо таблиц они содержат “коллекции”.

Коллекция - это что-то типа таблицы, только без колонок. Вместо этого каждая строка содержит наборы записей в виде ключ:значение.

Пример:

Внутри коллекции Users (пользователи) может располагаться запись с ключами firstname (имя) и lastname (фамилия). В то же время, та же коллекция может содержать запись с другими ключами: firstname, lastname, e-mail, birth (день рождения). В этом-то и заключается гибкость MongoDB.

Каждая из этих записей, или строк, называется “документ”, но это не тот документ типа .txt или .html. Данная запись хранится в памяти в JSON формате.

Пример:

Предположим, в нашей коллекции содержится 500 документов. Как уже говорилось раньше, каждый из них может содержать разные поля. Единственное поле, которое должно быть у каждой записи, - это уникальный идентификатор (id), который добавляется автоматически.

Поначалу данная терминология может быть непривычной. Всё будет намного понятнее, когда вы увидите работу с СУБД на практике.

Установка MongoDB на Windows

Сперва качаем архив с MongoDB для win32 или win64.

Распаковываем скачанный архив и помещаем его, к примеру, на диск C, в каталог mongodb. Причём, проследите за тем, чтобы каталог bin был доступен по адресу C:\mongodb\bin.

Далее прописываем путь к папке bin в настройках нашей ОС, для того чтобы к .exe файлам данной папки мы могли достучаться из любого места. Итак, делаем правый клик на Компьютер - Свойства. В списке слева, выбираем “Дополнительные параметры системы”:

Далее, нажимаем на кнопку “Переменные среды”:

В открывшемся окне ищем системную переменную Path. Кликаем по ней дважды. В поле “значение переменной” переходим в самый конец, ставим знак “;” и вписываем путь к каталогу bin:

Отлично! Жмём “ок”... и переходим к следующему шагу.

Для начала, нам необходимо создать каталог, где будут храниться наши БД. К примеру, C:\databases. Создаём эту папку.

Далее нам необходимо зарегистрировать MongoDB как сервис, чтобы он запускался автоматически при включении компьютера. Для этого вызываем командную строку и пишем:

echo logpath=C:\mongodb\log\mongo.log > C:\mongodb\mongod.cfg

Данная команда создаст специальный лог файл и настройки конфигурации для сервиса.

Далее создаём сервис:

mongod --config C:\mongodb\mongod.cfg --install

Прежде чем запустить его, давайте отредактируем файл mongod.cfg, вписав туда настройку dbpath - путь к папке с нашими базами данных. В моём случае, после правки файла его содержание должно выглядеть примерно так:

logpath=C:\mongodb\log\mongo.log
dbpath=C:\databases

Возвращаемся к командной строке и запускаем сервис MongoDB:

net start MongoDB

Для того чтобы проверить, будет ли сервис запускаться автоматически, нажимаем сочетание клавиш “windows+r”, пишем “services.msc”, нажимаем ОК.

В списке сервисов ищем MongoDB и, если его тип запуска не автоматический, то выставляем данный пункт, предварительно сделав правый клик, и выбрав, “свойства”.

Теперь, когда мы создали сервис, который будет запускать MongoDB при включении компьютера, нам не нужно будет делать это вручную.

Для проверки работы MongoDB открываем командную строку и пишем:

mongo

Нажимаем Enter. Далее можем работать с данной СУБД. К примеру, посмотрим, какие сейчас у нас есть базы:

show dbs

В ответе вы должны увидеть вот такую вот строку:

local   (empty)

Итог

Итак, MongoDB установлена и сконфигурирована. В следующей части мы рассмотрим основные команды для работы с данной СУБД.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://www.hongkiat.com/blog/webdev-with-mongodb-part1/
Перевел: Станислав Протасевич
Урок создан: 3 Апреля 2013
Просмотров: 99110
Правила перепечатки


5 последних уроков рубрики "PHP"

  • Фильтрация данных с помощью zend-filter

    Когда речь идёт о безопасности веб-сайта, то фраза "фильтруйте всё, экранируйте всё" всегда будет актуальна. Сегодня поговорим о фильтрации данных.

  • Контекстное экранирование с помощью zend-escaper

    Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

  • Подключение Zend модулей к Expressive

    Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

  • Совет: отправка информации в Google Analytics через API

    Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

  • Подборка PHP песочниц

    Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

или авторизуйтесь, чтобы добавлять комментарии, оценивать уроки и сохранять их в личном кабинете
  • 3 Апреля 2013 22:17
    newrus
    Хм...интересно. Буду следить!
  • 4 Апреля 2013 13:15
    agolomazov
    большое спасибо за статью
  • 4 Апреля 2013 21:04
    micha
    Пошаговый алгоритм. Отлично.
  • 22 Июня 2013 14:43
    Monkuver
    Пытался запустить mongodb на windows server 2008 r2 выдает error 1053:The service did not respond to the start or control request in a timely fashion. Как решить данную проблему?
  • 17 Августа 2013 21:50
    banzaj
    Я на windows 8 ставил так http://rundevrun.blogspot.com/2012/11/setup-mongodb-on-windows-8.html
  • 10 Ноября 2013 01:45
    Werlon1
    Помогите пожалуйста. Всё настроил, но при запуске MONGOD проскакивает черное окошко и исчезает. При запуске MONGO - на секунду появляется черное окошко с надписью версии и фразы "Connection to test" и снова все исчезает. Как сделать, чтобы окошко не закрывалось ?
  • 23 Июня 2015 02:04
    Valeriu Vodnicear
    почему не могу создать службу ? то есть ошибки не выдает а результата всё ровно нету
  • 6 Ноября 2016 16:33
    Чангариди
    Вышла эта ошибка на вот этом шаге "mongod --config C:\mongodb\mongod.cfg --install" и путь в Path проверил, верный, водскажите пожалуйста "mongod" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
  • Комментарий удален
    • 4 Апреля 2013 14:09
      rubyx
      в комментарии мат, по этому и удаляют :)
      • 4 Апреля 2013 18:15
        soprun.vladislav
        Так первый раз когда писал прикинулся культурным :) И очень корректно написал по отношению к "newrus" :)
        • 5 Апреля 2013 05:07
          Quber
          Мои комменты тоже удаляют! Последний из которых был ответ цитатой на ресурс Habrahabr !!
    • 4 Апреля 2013 21:07
      micha
      Хоре материться запрись в сортире и там матерись перед зеркалом
^ Наверх ^