MongoDB — одна из самых распространенных нереляционных систем управления базами данных, работает под Linux. В основе Mongo лежит «Документ», в то время как в основе самой распространенной реляционный СУБД MySQL лежат столбцы и колонки. Данный материал из нескольких частей представляет собой руководство по MongoDB Linux.
В рамках первой статьи рассматривается установка СУБД и простейшие действия по работе с элементами БД.
Руководство по MongoDB Linux
Устанавливаем MongoDB из стандартного репозитория
apt-get update
apt-get install mongodb
Данные mongodb по умолчанию будет хранить в каталоге /var/lib/mongodb
Логи — в каталоге — /var/log/mongodb
Стартуем сервис
/etc/init.d/mongodb start
Заходим в mongo
mongo
Welcome to the MongoDB shell.
For interactive help, type «help».
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>
СУБД используем BSON — своеобразную интерпретацию JSON (JavaScript Object Notation)
Рассмотри примеры и убедимся в том, что синтаксис очень схож.
JSON:
{
«firstName»:»Andrey»,
«lastName»: «Ivanov»
«Age»: 25
}
JavaScript:
firstname = «Andrey»;
lastName = «Ivanov»;
Age = 25
BSON:
USER COLLECTION
{
_id:ObjectId(«7678sd6fsdfbhw367er3»),
«firstName»:»Andrey»,
«lastName»: «Ivanov»
«Age»: 25,
«projects:[«Project A», «Project B», «Project C»]»
«addresses»: [
{
street: «123 Lunacharskogo st»
city: «Yekaterinburg»,
state: «Sverdlovskaya oblast»
},
{
street: «4568 Sadovaya st»
city: «Moscow»,
state: «Central region»
}
]
},
{
_id:ObjectId(«7678s7826fsdfbhw367er3»),
«firstName»:»Nikolay»,
«lastName»: «Petrov»
«Age»: 54
};
Таким образом, заметно основное отличие нереляционных БД. Определенные элементы могут иметь признаки, которых другие элементы той же таблицы не имеют. В MySQL потребовалось бы создавать ряды и колонки для адреса и проектов, в Монго это не требуется.
>db.users.find()
Выводим всех пользователей, существующих в документах — элементах БД
Создадим пользователя admin и пользователей с ограниченными правами
Переходим в каталог, в который установлен пакет
cd /opt/mongo
Заходим в консоль СУБД
mongo
Даем указание на необходимость использования базы
>use admin
switched to db admin
И создаем пользователя с правами userAdminAnyDatabase
db.createUser({user:»admin1",pwd:»1234",roles:[«userAdminAnyDatabase»]})
Добавляем другого пользователя
Просматриваем существующие базы
show dbs
Инициализируем базу people (команда создает базу при первой к ней обращению, что аналогично CREATE DATABASE people в MySQL)
use people
Добавляем пользователя с правами на чтение и запись
db.createUser({user:»vasiliy»,pwd:»1234",roles:[«readWrite»,»dbAdmin»]})
Successfully added user: { «user» : «vasiliy», «roles» : [ «readWrite», «dbAdmin» ] }
Таким образом мы установили пакет, авторизовались в консоли, создали первые базы данных, а также пользователей, одного с безграничным доступом ко всем базам, другого с доступом на чтение и запись
В следующей статье цикла рассматриваются понятия «документа» и «коллекции» в MongoDB