MongoDB для начинающих

MongoDB для начинающих: знакомство и установка

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 установлена и сконфигурирована. В следующей части мы рассмотрим основные команды для работы с данной СУБД.+











MongoDB для начинающих: основные команды




Сегодня мы продолжим разговор о СУБД MongoDB. В этом уроке вас ждёт знакомство с основными командами для работы с БД через командную строку.+

Поскольку данный урок написан для начинающих, мы рассмотрим только самые необходимые основы. Если же вы хотите получить нечто большее, то можете ознакомиться с официальной документацией.+






Итак, сейчас мы займёмся заполнением коллекции ТВ шоу, (shows), с которой в следующей части будем работать непосредственно из PHP скриптов.+


Для начала вам необходимо запустить командную строку и запустить MongoDB:+



 
mongo








Для просмотра БД, который по умолчанию достались нам после установки набираем команду:+





 
show dbs








Итак, для нашего примера можем воспользоваться базой данных `test`. В ней мы создадим коллекцию `shows` и поместим туда несколько записей. Для начала давайте создадим сами записи и запишем их в переменные.+





1
a = { title:"Arrested Development", airdate:"November 2, 2003", network:"FOX" }
2
b = { title:"Stella", airdate:"June 28, 2005", network:"Comedy Central" }














3
c = { title:"Modern Family", airdate:"September 23, 2009", network:"ABC" }








Если вы внимательно посмотрите на приведённые строки, то увидите что записи представляют из себя строки в формате JSON. После выполнения данных команд, MongoDB выведет вам их в отформатированном виде.+


Так же, я думаю вы заметили, что мы ещё не создали коллекцию shows. Данная операция выполнится автоматом, когда мы будем добавлять данные в коллекцию. Теперь, нам необходимо воспользоваться командой `.save()` для сохранения записей:+




1
db.shows.save(a)
2
db.shows.save(b)














3
db.shows.save(c)








В результате выполнения последних команд, коллекция shows будет заполнена тремя JSON строками. Для просмотра всех коллекций можно воспользоваться командой `show collections`.+


Для просмотра данных коллекции можем воспользоваться методом `find()`:+




 
db.shows.find()








На этом всё. В следующей статье я покажу вам как работать с СУБД MongoDB через PHP.+













MongoDB для начинающих: основные команды




В сегодняшнем уроке мы настроим нашу систему таким образом, чтобы мы могли работать с MongoDB через PHP.+






С самого начала MongoDB уже сконфигурирована для работы с веб-сервером. Для того, чтобы работать с ней через php, ruby, node.js, perl, нужно установить специальный драйвер.+




Установка MongoDB PHP расширения на Windows



Пользователям Windows необходимо скачать драйвер MongoDB для своей версии PHP (5.2, 5.3, 5.4). Найти эти драйвера можно на Github. После того, как вы скачаете нужный вам архив, распакуйте его и переименуйте файл в php_mongo.dll+






В моём случае, я буду переименовывать файл php_mongo-1.3.2RC1-5.3-vc9-nts.dll, т.к. у меня версия php 5.3.+


Внимание! Прежде чем приступить к следующим шагам, сделайте копии исходных файлов, прежде чем что-то исправлять.+


Далее нам необходимо подключить данный драйвер в php.ini. Для начала, поместим скачанный файл в каталог со всеми php расширениями. Каждая сборка хранит этот каталог по-своему. Чтобы узнать, где лежит каталог с php расширениями, можно заглянуть в php.ini или посмотреть значение опции extension_dir, вызвав метод phpinfo(); В моём случае, это С:\server\ZendServer\lib\phpext. Файл php_mongo.dll помещаю туда.+


Теперь нужно активировать его в файле php.ini. Путь к данному файлу вы также сможете найти, вызвав phpinfo();+


В файле php.ini находим секцию с подключением dll файлов и прописываем название нашего драйвера:+



 
extension=php_mongo.dll








Далее перезапускаем Apache сервер, чтобы изменения вошли в силу. Если после перезапуска у вас возникла ошибка, то скорее всего, вам нужно подобрать другой драйвер MongoDB.+




Работа с MongoDB через PHP




Когда речь заходит о БД, существует множество аспектов, которые можно обсудить. Поскольку данные статьи - это только знакомство с технологией, то мы не будет особо углубляться. Для работы с MongoDB нужно воспользоваться специальным классом.+






В этом примере, я воспользуюсь той коллекцией, которую мы создали в предыдущих уроках. Итак, создаём новый php файл и начинаем кодить:+




01
// данные конфигурации
02
$dbhost = 'localhost';
03
$dbname = 'test';
04
 
05
// подключение к базе
06
$m = new Mongo("mongodb://$dbhost");
07
$db = $m->$dbname;
08
 
09
// выбираем коллекцию
10
$collection = $db->shows;
11
 
12
// вытаскиваем данные
13
$cursor = $collection->find();








С самого начала мы конфигурируем данные подключения, а затем обращаемся к коллекции. Для извлечения всех записей из коллекции, воспользуемся методом find().+


Теперь результат выборки, записанной в переменную $cursor, можем вывести в var_dump() или print_r(). Для того чтобы пройтись по каждой строчке, можем воспользоваться циклом foreach:+




1
foreach($cursor as $document) {
2
 var_dump($document);
3
}








Далее к полям объекта можно обращаться через знак ->+



Для того чтобы узнать больше о всевозможных операциях, читайте официальную документацию. Надеюсь, этот небольшой скрипт даст вам хоть какое-то представление о том, как работать с no-sql базами данных через PHP. Никаких запутанных команд, никаких SQL выражений - всё просто и понятно.+










Комментарии

  1. I express my thanks for giving an interesting post to read. I can’t wait to see your next post soon. Good luck for the upcoming update.This article is really very interesting and effective.

    Hoi An Day Trip From Tien Sa Port
    Phong Nha Pioneer Travel
    centralvietnampackagetour
    viettours
    mysontours


    ОтветитьУдалить

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

Популярные сообщения из этого блога

Репликация MongoDB

Руководство по MongoDB

Запросы в MongoDB