Консультационное руководство для MongoDB

{title}

MongoDB - это менеджер нереляционных баз данных, это означает, что его структура и поведение очень отличаются от того, что мы называем MySQL или PostgreSQL . Эти различия делают планирование и выполнение нашей структуры данных уникальными, но то, что изначально может повлиять на нас, это запросы.
Данные больше не обрабатываются как таблицы и записи, но они известны как коллекции документов, таким образом, связи между таблицами исчезают, и возникает новая возможность - создавать документы с различными структурами без необходимости определять их ранее.

Тестовая среда - Установка


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

У нас есть два варианта: первый - установить MongoDB непосредственно в нашей системе, а второй - использовать онлайн-консоль, предлагаемую на официальном сайте, любой вариант, который вы выберете, подойдет для этого урока. Мы рекомендуем установить MongoDB, поскольку таким образом мы не будем зависеть от подключения к Интернету, и выполнение будет намного быстрее.
Установка этого руководства выполняется в Windows 7, но в зависимости от нашей операционной системы мы можем перейти на mongodb.org и найти раздел загрузки, внутри которого мы получим разные версии для Linux и Mac или Solaris .

{title}

Как только мы загрузим и установим соответствующую версию, мы должны запустить демон mongod, в случае Windows это mongod.exe, но для правильной работы мы должны создать каталог или папку с данными, предпочтительно по пути, который не требует прав администратора и При запуске mongod.exe мы указываем, что вы должны взять его. Команда запуска выглядит следующим образом:
 $ pathMongodb / mongod.ex - - dbpath «Диск: \ db \ data» 
Где RutaMongodb - это папка, в которую мы выполнили установку, а Drive - буква жесткого диска, на которой расположен путь для доступа к db \ data. Если все будет успешно запущено, мы увидим что-то вроде следующего:

{title}

На предыдущем экране мы должны обнаружить, что в нем указано ожидание соединений, что является сигналом о том, что служба работает правильно. Как только сервер запущен, теперь мы должны открыть новую консоль и снова перейти к пути установки MongoDB, здесь мы найдем клиента с именем mongo.exe, и при его запуске сразу же будет пытаться подключиться к нашему сервису, это Мы можем видеть это на следующем изображении.

{title}

В случае, если мы решим просмотреть онлайн-версию официального сайта, мы должны получить доступ только к маршруту try.mongodb.org, и там мы найдем консоль MongoDB, созданную на JavaScript, что облегчает наши задачи в тех случаях, когда мы не можем выполнить Установка или просто чтобы удовлетворить наше любопытство.

{title}

Тестовая среда - исходные данные


Поскольку у нас работает наш драйвер и мы можем вводить команды, нам нужно количество тестовых данных, позволяющих нам оценивать запросы, для начала мы оставляем следующие записи, которые можно скопировать и вставить в вашу консоль, чтобы они имели что-то внутри базы данных. и, таким образом, получить результаты с примерами, которые придут позже:
 db.guiamongo.insert ({"имя": "Мария", "возраст": "25", "пол": "женщина", "страна": "Колумбия"}); db.guiamongo.insert ({"имя ":" Педро ", " возраст ":" 32 ", " пол ":" мужчина ", " страна ":" Эквадор "}); db.guiamongo.insert ({" name ":" Ramon ", " age " : "18", "пол": "мужчина", "страна": "Гондурас"}); db.guiamongo.insert ({"имя": "Джон", "возраст": "22", "пол": "Мужчина", "страна": "Аргентина"}); db.guiamongo.insert ({"имя": "Роза", "возраст": "45", "пол": "женщина", "страна": " Чили ", " languages ​​": [" Esp ", " Ing ", " Fra "]}); 
После того, как наши данные вставлены, у нас уже есть готовая тестовая среда.

$config[ads_text5] not found

Проверьте с помощью find ()


Основным инструментом для выполнения запросов в MongoDB является find (), с помощью этой простой команды мы можем эффективно находить нужные нам документы, помните, что документы будут аналогичны записям в других менеджерах баз данных.
Самый простой способ использовать find () - передать массив со свойствами документа, к которому мы хотим обратиться, и однажды с этим будет произведен возврат всего, что соответствует условию, в следующем примере мы разместим документы, где « Пол » - « Женский », для этого мы можем использовать следующую команду:
 db.guiamongo.find ({"пол": "женщина"}); 
Результатом этого запроса должно быть что-то вроде следующего:

$config[ads_text5] not found

{title}

Мы видим, насколько эффективно MongoDB возвращает две записи, которые мы вставляем в нашу среду тестирования.
Как мы видим, документы завершены, и нам может понадобиться только один атрибут, в этих случаях мы должны передать второй массив функции find (), чтобы указать, что нам нужно извлечь из него, по умолчанию первичный ключ _id также будет включен, хотя не указывайте, давайте посмотрим на команду для запроса только имен предыдущего запроса:
 db.guiamongo.find ({"пол": "женщина"}, {"имя": 1}); 
Давайте посмотрим на следующем рисунке, как мы можем визуализировать результат, где мы получили только это свойство нашего документа:

$config[ads_text6] not found

{title}

Ограничения поиска ()


Поскольку между документами нет связей, мы не можем выполнять то, что называется объединениями в других менеджерах баз данных, поэтому мы не можем иметь таблицу каталога и только добавлять код в основной документ.
Другое ограничение заключается в том, что мы не можем искать и составлять условия с элементами одного и того же документа, например, сравнивать «возраст» с другим числовым полем того же документа. Если мы примем это во внимание, мы скоро найдем подходящие способы обработки наших документов в MongoDB .

Операторы сравнения


Тот факт, что мы работаем с массивами и сопоставляем их со свойствами, не означает, что мы не можем делать сравнения, такие как больше, меньше, больше или равно, меньше или равно; Мы знаем, что эти сравнения жизненно важны во многих системах, которые работают с запросами, поэтому в MongoDB есть специальные операторы для этих случаев, давайте посмотрим, какие из них:
$ lt

Это эквивалент меньше и принесет нам все документы, имущество которых меньше, чем условие, все те, которые соответствуют точному значению, исключаются.
$ lte

Он работает так же, как и при предыдущем сравнении, но на этот раз он включает в себя документы, равные значению сравнения.
$ gt

Это работает точно так же, как первое условие, только то, что оно будет оценивать самые высокие значения в запросе.
$ gte

Как и $ l, он будет оценивать все основные условия, а также будет включать значение, которое используется в качестве измерения.
Посмотрим ниже, как мы можем использовать эти инструменты в find () на небольшом примере.
В первую очередь мы сверимся со всеми документами, возраст которых не превышает 25 лет . Для этого мы поместим возраст, а затем передадим массив с условием оценки того, как мы можем заметить, в следующей команде:

 db.guiamongo.find ({"age": {"$ lt": "25"}}); 
Это приведет к следующему:

{title}

Поскольку мы видим, что запрос очень прост, и мы можем адаптировать его к тому, что мы видели ранее, чтобы выбрать, какие поля или свойства документа должны отображаться, это остается для них упражнением.
Что-то очень интересное состоит в том, что мы можем объединить несколько условий в одну строку, благодаря чему мы получаем гораздо более конкретный запрос, получая, таким образом, результаты, которые нам действительно нужны, например, скажем, нам нужны все те, кто старше 20 лет, но младше 30, с помощью следующей команды этого будет достаточно:
 db.guiamongo.find ({"age": {"$ gt": "20", "$ lt": "30"}}); 
Это должно привести к результату, подобному следующему изображению:

{title}

Оператор $ not


Иногда нам нужно проконсультироваться, но, в свою очередь, мы хотим, чтобы конкретное значение или серия значений не появлялись, для этого у нас есть оператор $ not denial, это можно применить к любому условному условию, и вместе с ним документы, соответствующие критерию, не появятся.
Например, мы перепишем предыдущий пример, где вместо того, чтобы расположить сегмент больше 20 и меньше 30, мы исключим их, для этого мы просто изменим нашу команду следующим образом:
 db.guiamongo.find ({"age": "$ not": {"$ gt": "20", "$ lt": "30"}}}); 
Это приводит к следующему результату:

{title}

Как мы видим, мы получили противоположность того, что мы помещаем в условия сравнения.

Оператор $ in


Оператор $ in работает подобно предложению OR в традиционном языке SQL, что позволяет нам получить просто документы, которые соответствуют тем или иным условиям, которые мы передаем.
Например, мы собираемся искать людей из Чили или Аргентины, в наших тестовых данных у нас есть две записи, которые соответствуют этому критерию.
 db.guiamongo.find ({"country": {"$ in": ["Chile", "Argentina"]}}); 
При просмотре результата через консоль мы должны достичь ожидаемого.

{title}

На этом мы завершили этот урок, у нас уже есть основное руководство для запросов к нашим базам данных, созданным в MongoDB, это очень важно знать, так как нереляционные или не SQL- базы данных, как они известны, также являются тенденцией и Будущее хранилища для приложений.

СТАТЬЯ ПО ТЕМЕ Как изменить соотношение сторон видео на iPhone | Обрезка изображения

..

Тем не менее, если вы хотите изменить соотношение сторон видео, записанного на iPhone или iPad, или удалить что-то, что появляется на изображении видео, здесь мы покажем вам, как это сделать: