MongoDB учебник
Начало работы с MongoDB
Поиск…
замечания
- Данные в мире начали сильно расти после того, как на рынок появилось мобильное приложение. Это огромное количество данных стало практически невозможно обрабатывать с традиционной реляционной базой данных - SQL. Базы данных NoSQL вводятся для обработки данных, в которых гораздо больше гибкости, чем переменное количество столбцов для каждой информации.
- MongoDB является одной из ведущих баз данных NoSQL. Каждая коллекция содержит несколько документов JSON. Любая модель данных, которая может быть выражена в документе JSON, может быть легко сохранена в MongoDB.
- MongoDB - это база данных сервера-клиента. Сервер обычно работает с двоичным файлом
mongod
а клиент работает сmongo
. - В MongoDB до v.3.2 не существует операции объединения по различным философским и прагматическим причинам . Но Mongo shell поддерживает javascript, поэтому, если $ lookup недоступен, можно имитировать операции объединения с документами в javascript перед вставкой.
- Чтобы запустить экземпляр в рабочей среде, настоятельно рекомендуется следовать Контрольному списку операций .
Версии
Версия | Дата выхода |
---|---|
3,4 | 2016-11-29 |
3,2 | 2015-12-08 |
3.0 | 2015-03-03 |
2,6 | 2014-04-08 |
2,4 | 2013-03-19 |
2,2 | 2012-08-29 |
2,0 | 2011-09-12 |
1,8 | 2011-03-16 |
1,6 | 2010-08-31 |
1.4 | 2010-03-25 |
1.2 | 2009-12-10 |
Монтаж
Чтобы установить MongoDB, выполните следующие действия:
Для Mac OS:
- Существует два варианта для Mac OS: ручная установка или доморощенный .
- Установка с помощью доморощенного :
- Введите в терминал следующую команду:
$ brew install mongodb
- Введите в терминал следующую команду:
- Установка вручную:
Загрузите последнюю версию здесь . Убедитесь, что вы загружаете соответствующий файл, специально проверьте, является ли ваш тип операционной системы 32-разрядной или 64-разрядной. Загруженный файл находится в формате
tgz
.Перейдите в каталог, в который загружен этот файл. Затем введите следующую команду:
$ tar xvf mongodb-osx-xyz.tgz
Вместо
xyz
будет отображаться информация о версии и системе. Выделенная папка будет иметь то же имя, что и файлtgz
. Внутри папки их будет подпапка с именемbin
которая будет содержать несколько двоичных файлов вместе сmongod
иmongo
.По умолчанию сервер хранит данные в папке
/data/db
. Итак, мы должны создать этот каталог, а затем запустить сервер, имеющий следующие команды:$ sudo bash # mkdir -p /data/db # chmod 777 /data # chmod 777 /data/db # exit
Чтобы запустить сервер, из текущего местоположения должна быть указана следующая команда:
$ ./mongod
Он запускает сервер по порту 27017 по умолчанию.
Чтобы запустить клиент, необходимо открыть новый терминал, имеющий тот же каталог, что и раньше. Затем следующая команда запустит клиент и подключится к серверу.
$ ./mongo
По умолчанию он подключается к
test
базе данных. Если вы видите такую строку, какconnecting to: test
. Затем вы успешно установили MongoDB. Congrats! Теперь вы можете проверить Hello World, чтобы быть более уверенным.
Для Windows:
Загрузите последнюю версию здесь . Убедитесь, что вы загружаете соответствующий файл, специально проверьте, является ли ваш тип операционной системы 32-разрядной или 64-разрядной.
Загруженный двоичный файл имеет расширение
exe
. Запустить его. Появится приглашение мастера установки.Нажмите « Далее» .
Примите лицензионное соглашение и нажмите « Далее» .
Выберите « Полная установка».
Нажмите « Установить» . Это может вызвать окно для запроса разрешения администратора. Нажмите « Да» .
После установки нажмите « Готово» .
Теперь mongodb установлен на пути
C:/Program Files/MongoDB/Server/3.2/bin
. Вместо версии 3.2 может быть какая-то другая версия для вашего дела. Имя пути будет изменено соответствующим образом.bin
содержат несколько двоичных файлов вместе сmongod
иmongo
. Чтобы запустить его из другой папки, вы можете добавить путь в системный путь. Сделать это:- Щелкните правой кнопкой мыши Мой компьютер и выберите « Свойства» .
- Нажмите « Расширенные настройки системы» на левой панели.
- Нажмите « Переменные среды» ... на вкладке « Дополнительно ».
- Выберите « Путь» в разделе « Системные переменные » и нажмите « Изменить ...» .
- Перед Windows 10 добавьте точку с запятой и вставьте путь, указанный выше. В Windows 10 есть кнопка « Создать» , чтобы добавить новый путь.
- Нажмите OK, чтобы сохранить изменения.
Теперь создайте папку с именем
data
имеющую подпапку с именемdb
где вы хотите запустить сервер.Начните с командной строки. Либо изменив путь в cmd, либо щелкнув по открытому окну команды Open, который будет виден после щелчка правой кнопкой мыши на пустом пространстве графического интерфейса папки, нажимая клавиши Shift и Ctrl вместе.
Напишите команду для запуска сервера:
> mongod
Он запускает сервер по порту 27017 по умолчанию.
Откройте другую командную строку и введите следующую команду для запуска клиента:
> mongo
По умолчанию он подключается к
test
базе данных. Если вы видите такую строку, какconnecting to: test
. Затем вы успешно установили MongoDB. Congrats! Теперь вы можете проверить Hello World, чтобы быть более уверенным.
Для Linux: почти такая же, как Mac OS, за исключением некоторой эквивалентной команды.
- Для дистрибутивов на основе Debian (с использованием
apt-get
):Импортируйте ключ репозитория MongoDB.
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 gpg: Total number processed: 1\ gpg: imported: 1 (RSA: 1)
Добавить репозиторий в список пакетов на Ubuntu 16.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
на Ubuntu 14.04 .
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Обновить список пакетов.
$ sudo apt-get update
Установите MongoDB.
$ sudo apt-get install mongodb-org
- Для дистрибутивов на основе Red Hat (с использованием
yum
):используйте текстовый редактор, который вы предпочитаете.
$ vi /etc/yum.repos.d/mongodb-org-3.4.repo
Вставить следующий текст.
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Обновить список пакетов.
$ sudo yum update
Установка MongoDB
$ sudo yum install mongodb-org
- Для дистрибутивов на основе Debian (с использованием
Привет, мир
После процесса установки следующие строки должны быть введены в оболочку mongo (клиентский терминал).
> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);
Привет, мир!
Объяснение:
- В первой строке мы вставили парный документ
{ key : value }
вtest
базу данных по умолчанию и в коллекции с именемworld
. - Во второй строке мы извлекаем данные, которые мы только что вставили. Полученные данные сохраняются в переменной javascript с именем
cur
. Затем функциейnext()
мы извлекли первый и единственный документ и сохранили его в другой переменной js с именемx
. Затем напечатайте значение документа, содержащего ключ.
Дополнительные условия
Условия использования SQL | Условия MongoDB |
---|---|
База данных | База данных |
Таблица | Коллекция |
Entity / Row | Документ |
колонка | Ключ / поле |
Таблица Join | Встроенные документы |
Основной ключ | Первичный ключ (по умолчанию ключ _id предоставлен самим mongodb) |
Выполнение файла JavaScript в MongoDB
./mongo localhost:27017/mydb myjsfile.js
Объяснение: Эта операция выполняет myjsfile.js
скрипт в mongo
оболочки , который подключается к mydb
базе данных на mongod
например , доступной через localhost
интерфейс на порт 27017
. localhost:27017
не является обязательным, так как используется порт mongodb
по умолчанию.
Кроме того, вы можете запустить .js
файл из консоли mongo
.
>load("myjsfile.js")
Выполнение вывода поиска, читаемого в оболочке
Мы добавляем три записи в наш тестовый сбор:
> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })
Если мы увидим их через find, они будут выглядеть очень уродливо.
> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }
Чтобы обойти это и сделать их читаемыми, используйте функцию pretty ().
> db.test.find().pretty()
{
"_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
"key" : "value1",
"key2" : "Val2",
"key3" : "val3"
}
{
"_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
"key" : "value2",
"key2" : "Val21",
"key3" : "val31"
}
{
"_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
"key" : "value3",
"key2" : "Val22",
"key3" : "val33"
}
>
Основные команды на оболочке монго
Показать все доступные базы данных:
show dbs;
Выберите конкретную базу данных для доступа, например mydb
. Это создаст mydb
если он еще не существует:
use mydb;
Показать все коллекции в базе данных (обязательно выберите один из них, см. Выше):
show collections;
Показать все функции, которые можно использовать с базой данных:
db.mydb.help();
Чтобы проверить выбранную вами базу данных, используйте команду db
> db
mydb
db.dropDatabase()
используется для удаления существующей базы данных.
db.dropDatabase()