Что необходимо набрать в командной строке после установки mongodb для ввода команд
Основы MongoDB за 5 минут
Данная статья рассчитана на новичков, для тех кто хочет быстро изучить основы работы в MongoDB не влезая в документацию и туториалы на ютубе. Если в данной статье упущены некоторые темы, то автор посчитал, что человек неразбирающийся в теме сам будет в состоянии загуглить это + на протяжении всей статьи расставлены ссылки на документацию, дабы новичкам было легче ориентироваться.
Считается одним из классических примеров NoSQL-систем, использует JSON-подобные документы и схему базы данных. Данную базу данных применяют в веб-разработке, в частности, в рамках JavaScript-ориентированного стека MEAN, MEVN, MERN, которые часто используются веб-разработчиками, как любимые стеки технологий для создания приложений.
Установка
Скачать MongoDB можно с официального сайта для Linux, MacOS, Windows.
В Linux это также можно сделать с одной из следующих команд:
brew
Также для того чтобы взаимодействовать с БД нам потребуется шелл (MongoShell), который качается отдельно: https://www.mongodb.com/try/download/shell?jmp=docs
Основы
После успешной установки MongoDB и Mongoshell мы можем спокойно начать взаимодействовать с базой данных с помощью терминала. Достаточно просто ввести mongosh :
Более подробно о том, что будет ниже можно прочитать здесь
Всё дело в том, что в mongoDB не существует базы данных, покуда мы в неё что-то не поместим. Также, при обращении к определенным объектам (база данных, коллекция) mongoDB они меняют значение, только если существуют, а если не существуют, то они просто создаются. Давайте продемонстрируем принцип работы:
Для того чтобы создать новую базу данных (или использовать существующую) мы должны использовать ключевое слово use :
Давайте создадим новую коллекцию под названием customers (покупатели) и положим туда значение name: Daniil :
Далее мы можем посмотреть наши коллекции с помощью специального метода getCollectionNames :
Вуаля! У нас есть массив из наших коллекций и по такому же принципу (нахождения нужных нам методов) можно исследовать всю MongoDB, однако мне ещё есть что рассказать, продолжим.
Есть ещё сокращения команд, которые мы тоже можем использовать, например show collections вернёт нам то же самое, однако вид будет более читаемый для человека:
У нашей коллекции, к слову, тоже есть методы и свойства, но они немного другие:
Давайте добавим ещё нескольких покупателей с помощью метода insertMany() :
Итак, давайте заметим несколько моментов на скриншоте:
Метод insertMany() принимает массив элементов, а не просто элементы
MongoDB все равно прилегают ли ключи и их значения к скобкам или нет
Синтаксис MongoDB очень похож на синтаксис JavaScript, поэтому мы можем использовать все виды кавычек (двойные, одинарные, обратные).
Теперь давайте выведем двух пользователей (не важно каких) из нашего списка используем следующую команду db.customers.find().limit(2) :
Как мы видим мы вывели всего два объекта из нашей коллекции, однако что ещё мы можем делать с «найденными» объектами? А вот что:
Теперь давайте рассортируем наши значения с помощью метода sort() :
Можно сортировать значения и с помощью двух аргументов, но для начала давайте их добавим! Для того чтобы добавить значения к найденному элементу коллекции давайте применим функцию updateOne :
Теперь давайте применим метод updateMany() для того чтобы поменять значения у множества элементов, а затем перейдем к сортировке с двумя аргументами:
Теперь рассортируем массив с помощью двух аргументов:
MongoDB позволяет получить специфические поля из найденных объектов и не показывать другие (нам ненужные поля):
Также мы можем выводить наши значения и с помощью других методов, однако дочерние методы тоже будут другими:
В данном случае мы перевели наш массив данных в обычный массив. Позже мы сможем проводить над ним некие операции.
Более сложные запросы
Атомные операторы нужны для того, чтобы усложнять запросы. Популярные атомные операторы:
Некоторые из них мы рассмотрим ниже:
Как мы видим тут вывелись все записи, у которых поле age больше чем 15.
Добавим ещё один объект, у которого не будет поля age и проверим работу оператора exists :
Видим, что тут exists отработал верно и запись с name: ‘Denis’ не вывелась.
Стоит уточнить, что атомные операторы работают почти со всеми командами в MongoDB, вы можете совмещать их и создавать сложные запросы.
Все остальные команды по типу:
deleteOne (удаляет запись)
replaceOne (заменяет запись)
updateOne (обновляет запись)
и их братья-близнецы с Many работают точно так же. Вы можете попробовать узнать зачем они нужны просто создав базу данных с парой записей и поэксперементировать (в конце-концов так материал будет усваиваться достаточно быстро и осядет в вашей голове на долгое время), ведь всё что вам нужно вы уже узнали.
Если вам была интересна данная статья, то вы можете найти больше подобных статей в моем блоге. Надеюсь, что я приоткрыл завесу MongoDB и дал понять, что он уж точно не сложней, чем все остальные базы данных.
MongoDB для начинающих: основные команды (часть 2/3)
Сегодня мы продолжим разговор о СУБД MongoDB. В этом уроке вас ждёт знакомство с основными командами для работы с БД через командную строку.
Поскольку данный урок написан для начинающих, мы рассмотрим только самые необходимые основы. Если же вы хотите получить нечто большее, то можете ознакомиться с официальной документацией.
Итак, сейчас мы займёмся заполнением коллекции ТВ шоу, (shows), с которой в следующей части будем работать непосредственно из PHP скриптов.
Для начала вам необходимо запустить командную строку и запустить MongoDB:
Для просмотра БД, который по умолчанию достались нам после установки набираем команду:
Итак, для нашего примера можем воспользоваться базой данных `test`. В ней мы создадим коллекцию `shows` и поместим туда несколько записей. Для начала давайте создадим сами записи и запишем их в переменные.
Если вы внимательно посмотрите на приведённые строки, то увидите что записи представляют из себя строки в формате JSON. После выполнения данных команд, MongoDB выведет вам их в отформатированном виде.
Так же, я думаю вы заметили, что мы ещё не создали коллекцию shows. Данная операция выполнится автоматом, когда мы будем добавлять данные в коллекцию. Теперь, нам необходимо воспользоваться командой `.save()` для сохранения записей:
В результате выполнения последних команд, коллекция shows будет заполнена тремя JSON строками. Для просмотра всех коллекций можно воспользоваться командой `show collections`.
Для просмотра данных коллекции можем воспользоваться методом `find()`:
На этом всё. В следующей статье я покажу вам как работать с СУБД MongoDB через PHP.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://www.hongkiat.com/blog/webdev-with-mongodb-part2/
Перевел: Станислав Протасевич
Урок создан: 8 Апреля 2013
Просмотров: 47443
Правила перепечатки
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 сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Что необходимо набрать в командной строке после установки mongodb для ввода команд
Для установки MongoDB загрузим один распространяемых пакетов с официального сайта https://www.mongodb.com/try/download/community.
Для загрузки нобходиомго функционала выберем нужную операционную систему и подходящий тип пакета. Рассмотрим на примере установки на ОС Windows.
MongoDB можно загрузить в ряде вариантов. Так, для Windows доступна загрузка установщика msi и также доступна загрузка zip-пакета. В реальности нам достаточно загрузить zip-архив и распаковать в нужной нам папке. Поэтому выберем этот вариант загрузки:
Если до установки уже была установлена более ранняя версия MongoDB, то ее необходимо удалить.
Содержимое пакета MongoDB
Если после установки мы откроем папку bin в распакованном архиве ( C:\mongodb\bin ), то сможем найти там кучу приложений, которые выполняют определенную роль. Вкратце рассмотрим их.
mongo : представляет консольный интерфейс для взаимодействия с базами данных, своего рода консольный клиент
mongod : сервер баз данных MongoDB. Он обрабатывает запросы, управляет форматом данных и выполняет различные операции в фоновом режиме по управлению базами данных
mongos : служба маршрутизации MongoDB, которая помогает обрабатывать запросы и определять местоположение данных в кластере MongoDB
Создание каталога для БД и запуск MongoDB
После установки надо создать на жестком диске каталог, в котором будут находиться базы данных MongoDB.
Командная строка отобразит нам ряд служебной информации, например, что сервер запускается на localhost на порту 27017.
Это консольная оболочка для взаимодействия с сервером, через которую можно управлять данными. Второй строкой эта оболочка говорит о подключении к серверу mongod.
Теперь поизведем какие-либо простейшие действия. Введем в mongo последовательно следующие команды и после каждой команды нажмем на Enter:
С помощью метода db.users.insertOne() в коллекцию users базы данных test добавляется объект < name: "Tom" >. Описание добавляемого объекта определяется в формате, с которым вы возможно знакомы, если имели дело с форматом JSON. То есть в данном случае у объекта определен один ключ «name», которому сопоставляется значение «Tom». То есть мы добавляем пользователя с именем Tom.
Если объект был успешно добавлен, то консоль выведет результат операции, в частности, идентификатор добавленного объекта.
А третья команда db.users.find() выводит на экран все объекты из бд test.
Установка драйверов MongoDB
На офсайте на странице https://docs.mongodb.com/ecosystem/drivers/ можно найти список драйверов для всех поддерживаемых языков программирования, в частности, для PHP, C, C++, C#, Java, Go, Python, Rust, Ruby, Scala, Swift, а также для Node.js.
Работа с драйверами на конкретных языках программирования будет рассмотрена в соответствующих разделах, посвященных этим языкам..
MongoDB для начинающих: знакомство и установка (часть 1/3)
Также MongoDB включает в себя собственную утилиту для выполнения команд, направленных на работу с БД. В данном цикле статей, мы затронем следующие темы:
Разработчикам не составляет труда быстро освоить работу с Mongo, если они знакомы с JSON. Этот формат использует выражения, которые состоят из пар “ключ”: “значение”.
Почему MongoDB
Между не табличными СУБД многие пользователи делают выбор в пользу MongoDB. Во-первых, данную систему можно установить практически на всех операционных системах (Windows, OSX, Linux). Во-вторых, проект до сих пор активно развивается и с завидной частотой команда разработчиков публикует обновления. Также мне кажется, что MongoDB предоставляет хорошую документацию для начинающих.
MongoDB лучше подходит в тех случаях, когда таблицы можно представить в виде объектов. По-моему, подобные системы лучше использовать при разработке приложений для мобильный устройств. В этом плане, Mongo предоставляет отдельные библиотеки, как для iOS, так и для Adndroid-а.
Ключевая терминология
Перед тем как приступить к установке MongoDB, давайте разберёмся с основными понятиями.
Как и MySQL, MongoDB может содержать множество баз данных, только вместо таблиц они содержат “коллекции”.
Пример:
Внутри коллекции Users (пользователи) может располагаться запись с ключами firstname (имя) и lastname (фамилия). В то же время, та же коллекция может содержать запись с другими ключами: firstname, lastname, e-mail, birth (день рождения). В этом-то и заключается гибкость MongoDB.
Пример:
Поначалу данная терминология может быть непривычной. Всё будет намного понятнее, когда вы увидите работу с СУБД на практике.
Установка MongoDB на Windows
Сперва качаем архив с MongoDB для win32 или win64.
Далее, нажимаем на кнопку “Переменные среды”:
В открывшемся окне ищем системную переменную Path. Кликаем по ней дважды. В поле “значение переменной” переходим в самый конец, ставим знак “;” и вписываем путь к каталогу bin:
Отлично! Жмём “ок”. и переходим к следующему шагу.
Далее нам необходимо зарегистрировать MongoDB как сервис, чтобы он запускался автоматически при включении компьютера. Для этого вызываем командную строку и пишем:
Данная команда создаст специальный лог файл и настройки конфигурации для сервиса.
Далее создаём сервис:
Возвращаемся к командной строке и запускаем сервис MongoDB:
Для того чтобы проверить, будет ли сервис запускаться автоматически, нажимаем сочетание клавиш “windows+r”, пишем “services.msc”, нажимаем ОК.
В списке сервисов ищем MongoDB и, если его тип запуска не автоматический, то выставляем данный пункт, предварительно сделав правый клик, и выбрав, “свойства”.
Теперь, когда мы создали сервис, который будет запускать MongoDB при включении компьютера, нам не нужно будет делать это вручную.
Для проверки работы MongoDB открываем командную строку и пишем:
Нажимаем Enter. Далее можем работать с данной СУБД. К примеру, посмотрим, какие сейчас у нас есть базы:
В ответе вы должны увидеть вот такую вот строку:
Итак, MongoDB установлена и сконфигурирована. В следующей части мы рассмотрим основные команды для работы с данной СУБД.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://www.hongkiat.com/blog/webdev-with-mongodb-part1/
Перевел: Станислав Протасевич
Урок создан: 3 Апреля 2013
Просмотров: 112285
Правила перепечатки
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 сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
The mongo Shell¶
The mongo shell is an interactive JavaScript interface to MongoDB. You can use the mongo shell to query and update data as well as perform administrative operations.
Download the mongo Shell¶
The mongo shell is included as part of the MongoDB server installation. If you have already installed the server, the mongo shell is installed to the same location as the server binary.
Alternatively, if you would like to download the mongo shell separately from the MongoDB Server, you can install the shell as a standalone package by following these steps:
Access the Download Center for your Edition of MongoDB:
Select the Package to download according to your platform:
For additional installation guidance specific to your platform, or to install the mongo shell as part of a MongoDB Server installation, see the installation guide for your platform.
Start the mongo Shell and Connect to MongoDB¶
Once you have downloaded the mongo shell, you can use it to connect to your running MongoDB server.
Starting in MongoDB 4.2 (and 4.0.13), the mongo shell displays a warning message when connected to non-genuine MongoDB instances as these instances may behave differently from the official MongoDB instances; e.g. missing or incomplete features, different feature behaviors, etc.
Prerequisites¶
Once you have verified that the mongod server is running, open a terminal window (or a command prompt for Windows) and go to your directory:
macOS Security Verification¶
macOS may prevent the mongo shell from running after installation. If you receive a security error when starting the mongo shell indicating that the developer could not be identified or verified, do the following to grant the mongo shell access to run:
Local MongoDB Instance on Default Port¶
You can run mongo shell without any command-line options to connect to a MongoDB instance running on your localhost with default port 27017:
Local MongoDB Instance on a Non-default Port¶
MongoDB Instance on a Remote Host¶
To explicitly specify the hostname and/or port,
You can specify a connection string. For example, to connect to a MongoDB instance running on a remote host machine:
. For example, to connect to a MongoDB instance running on a remote host machine:
command-line options. For example, to connect to a MongoDB instance running on a remote host machine:
MongoDB Instance with Authentication¶
To connect to a MongoDB instance requires authentication:
You can specify the username, authentication database, and optionally the password in the connection string. For example, to connect and authenticate to a remote MongoDB instance as user alice :
If you do not specify the password in the connection string, the shell will prompt for the password.
Connect to a MongoDB Replica Set¶
To connect to a replica set:
You can specify the replica set name and members in the connection string.
If using the DNS Seed List Connection Format, you can specify the connection string:
Use of the +srv connection string modifier automatically sets the ssl option to true for the connection.
. command-line option. For example, to connect to replica set named replA :
TLS/SSL Connection¶
For TLS/SSL connections,
You can specify the ssl=true option in the connection string.
If using the DNS Seed List Connection Format, you can include the +srv connection string modifier:
Use of the +srv connection string modifier automatically sets the ssl option to true for the connection.
For more information on the options used in the connection examples as well as other options, see mongo reference and examples of starting up mongo.
Working with the mongo Shell¶
To display the database you are using, type db :
To switch databases, issue the use helper, as in the following example:
See also db.getSiblingDB() method to access a different database from the current database without switching your current database context (i.e. db ).
You can switch to non-existing databases. When you first store data in the database, such as by creating a collection, MongoDB creates the database. For example, the following creates both the database myNewDatabase and the collection myCollection during the insertOne() operation:
If the mongo shell does not accept the name of a collection, you can use the alternative db.getCollection() syntax. For instance, if a collection name contains a space or hyphen, starts with a number, or conflicts with a built-in function:
The mongo shell prompt has a limit of 4095 codepoints for each line. If you enter a line with more than 4095 codepoints, the shell will truncate it.
For more documentation of basic MongoDB operations in the mongo shell, see:
Format Printed Results¶
The db.collection.find() method returns a cursor to the results; however, in the mongo shell, if the returned cursor is not assigned to a variable using the var keyword, then the cursor is automatically iterated up to 20 times to print up to the first 20 documents that match the query. The mongo shell will prompt Type it to iterate another 20 times.
In addition, you can use the following explicit print methods in the mongo shell:
For more information and examples on cursor handling in the mongo shell, see Iterate a Cursor in the mongo Shell. See also Cursor Help for list of cursor help in the mongo shell.
Multi-line Operations in the mongo Shell¶
If you end a line with an open parenthesis ( ‘(‘ ), an open brace ( ‘<' ), or an open bracket ( '[' ), then the subsequent lines start with ellipsis ( ". " ) until you enter the corresponding closing parenthesis ( ')' ), the closing brace ( '>‘ ) or the closing bracket ( ‘]’ ). The mongo shell waits for the closing parenthesis, closing brace, or the closing bracket before evaluating the code, as in the following example:
You can exit the line continuation mode if you enter two blank lines, as in the following example:
Tab Completion and Other Keyboard Shortcuts¶
The mongo shell supports keyboard shortcuts. For example,
Use to autocomplete or to list the completion possibilities, as in the following example which uses to complete the method name starting with the letter ‘c’ :
For a full list of the shortcuts, see Shell Keyboard Shortcuts
.mongorc.js File¶
Exit the Shell¶
To exit the shell, type quit() or use the shortcut.
Comparison of the mongo Shell and mongosh В¶
mongosh is currently available as a Beta release. The product, its features, and the corresponding documentation may change during the Beta stage.
The new MongoDB Shell, mongosh, offers numerous advantages over the mongo shell, such as:
During the beta stage, mongosh supports a subset of the mongo shell methods. Achieving feature parity between mongosh and the mongo shell is an ongoing effort.