Mongodb как подключиться к базе windows

Обновлено: 02.07.2024

Я установил MongoDB на моем компьютере с Windows 7 (64 бит). Я тоже создал путь data/db, но когда я попытался запустить mongodb с помощью команды 'C:\mongodb\bin\mongod.exe' , он не запускается. Это показывает admin web console waiting for connections on port 28017 .

Помогите мне в запуске MongoDB. А также, пожалуйста, предложите, если какой-либо графический интерфейс доступен для MongoDB.

Шаг 1

Шаг 2

Шаг 3

Шаг 4

  • cd to C:\Program Files\MongoDB\Server\3.2\bin>
  • введите команду mongod
  • по умолчанию, сервер mongodb запускается с порта 27017

Шаг 5

  • (необязательно) скачать RoboMongo и следовать нормальным инструкциям по настройке

Шаг 6

  • Запустите RoboMongo и создайте новое соединение на localhost:27017

Это сработало для меня

Подключитесь к локальному серверу MongoDB через командную строку

Подключитесь к удаленному серверу MongoDB через командную строку с аутентификацией.

Шаг 1:
Сначала загрузите .msi i.e файл установки из

Шаг 2:
Выполните установку, используя загруженный .msi файл. Автоматически он сохраняется в файлах программ.
Вы можете выполнить выборочную установку и изменить каталог.

После этого вы сможете увидеть папку Mongodb

Шаг 4:
Открыть cmd. Перейдите в каталог, в котором существует ваша папка mongodb, и перейдите на путь, например C:\MongoDB\Server\3.0\bin.
В папке bin вы должны иметь mongodb.exe

Шаг 5:
Теперь используйте

Создайте службу MongoDB в Windows. Первый открытый cmd с администратором

есть 2 способа запуска mongoDB
Место установки (например: C:/)

если вы получаете ошибку 1078 или 1087
позволяет удалить все данные в C:/data/db и перезапустить mongoDB (скопировать старые данные в новую папку и выполнить резервное копирование после перезапуска mongoDB)

3. GUI для mongoDB

получайте удовольствие от него

Создать каталог, как показано ниже

C:\DATA\DB

Это правильно написано над здесь

Если вы загрузите файл .msi, установите его, и если вы загрузите zip файл, извлеките его.

MongoDB требует каталога данных для хранения всех данных. По умолчанию путь каталога данных MongoDBs \data\db. Создайте эту папку, используя следующие команды из командной строки:

C:\mongodb\bin\mongod.exe --dbpath d:\test\mongodb\data

Если ваш путь включает пробелы, заключите весь путь в двойные кавычки, например:

C:\mongodb\bin\mongod.exe --dbpath "d:\test\mongo db data"

Вы также можете указать dbpath в файле конфигурации.

Чтобы запустить MongoDB, запустите mongod.exe. Например, из командной строки:

Чтобы подключиться к MongoDB через оболочку mongo.exe, откройте другую командную строку.

It is showing admin web console waiting for connections on port 28017.

Вы можете использовать оболочку mongo ( mongo.exe ) для подключения к mongoDB и выполнения операций db.

Существует несколько графических инструментов для MongoDB, таких как MongoVUE и т.д.

Фактически Windows-способ использования сервиса, из официальной документации:

Узнайте, где установлен ваш исполняемый файл, путь может быть следующим:

Создайте файл конфигурации с таким контентом (формат yaml), путь может выглядеть примерно так:

  • Выполните команду admin следующей командой (запустите командную строку как admin):

Если пути уменьшены с помощью точек, см. выше.

Ключ --install говорит mongo, чтобы установить себя как службу Windows.

Теперь вы можете запускать, останавливать, перезагружать сервер mongo, поскольку обычный сервис Windows выбирает ваш любимый способ:

Проверьте файл журнала, указанный в файле конфигурации, если возникнут проблемы.

Это ВСЕ, что мне нужно для запуска mongo в PowerShell, многие ответы слишком сложны для IMO.

Очевидно, что многие люди ответили на ваш вопрос о том, как заставить работать mongoDb, я бы ответил на вторую часть: Относительно соответствующего графического интерфейса для mongoDB

Мое предложение, пойти на MongoChef (сейчас Studio 3T)

Вы можете легко установить и использовать его.

Для пошагового руководства к инструменту GUI.

дополнительная вещь, которую вы можете сделать, это удивительно

так что все устроить

Установка занимает некоторое время. Сделав это, выполните следующие действия, чтобы получить свой сервер running-.

Спасибо за прочтение. Надеюсь, поможет.

Для пользователей Windows:

Чтобы добавить ответ @CoderSpeed выше (ответ CoderSpeed). Создайте пакетный файл (.bat) с командами, которые вы обычно вводите в CLI, например:

cd "C:\Program Files\MongoDB\Server\4.0\bin" mongod.exe

Метод запуска хостов Windows Script позволяет запускать программу или скрипт в невидимом режиме. Вот пример кода сценария Windows, который незаметно запускает пакетный файл с именем syncfiles.bat.

Допустим, у нас есть файл с именем syncfiles.bat в каталоге C:\Batch Files. Давайте запустим его в скрытом режиме, используя Windows Scripting.

Скопируйте следующие строки в Блокнот.

Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0 Set WshShell = Nothing

Примечание. Замените имя/путь пакетного файла в сценарии соответственно вашему требованию. Сохраните файл с расширением .VBS, скажем, launch_bat.vbs. Измените имя и путь файла .BAT соответственно и сохраните файл. Дважды щелкните, чтобы запустить файл launch_bat.vbs, который, в свою очередь, незаметно запускает командный файл syncfiles.bat.

Я сделал ниже, это работает для меня в Windows.

Официальный сайт предоставляет пакеты дистрибутивов для различных платформ: Windows, Linux, MacOS, Solaris. И каждой платформы доступно несколько дистрибутивов. Причем есть два вида серверов - Community и Enterprise. В данном случае надо установить версию Community. Хотя Enterprise-версия обладает несколько большими возможностями, но она доступна только в триальном режиме или по подписке.

На момент написания данного материала последней версией платформы была версия 5.0 , которая увидела свет в июле 2021 года и для которой постоянно выходят подверсии. Использование конкретной версии может несколько отличаться от применения иных версий платформы MongoDB.

Для загрузки нобходиомго функционала выберем нужную операционную систему и подходящий тип пакета. Рассмотрим на примере установки на ОС Windows.

MongoDB можно загрузить в ряде вариантов. Так, для Windows доступна загрузка установщика msi и также доступна загрузка zip-пакета. В реальности нам достаточно загрузить zip-архив и распаковать в нужной нам папке. Поэтому выберем этот вариант загрузки:

Установка MongoDB

Если до установки уже была установлена более ранняя версия MongoDB, то ее необходимо удалить.

После загрузки архивного пакета распакуем его в папку C:\mongodb .

Содержимое пакета MongoDB

Если после установки мы откроем папку bin в распакованном архиве ( C:\mongodb\bin ), то сможем найти там кучу приложений, которые выполняют определенную роль. Вкратце рассмотрим их.

mongo : представляет консольный интерфейс для взаимодействия с базами данных, своего рода консольный клиент

mongod : сервер баз данных MongoDB. Он обрабатывает запросы, управляет форматом данных и выполняет различные операции в фоновом режиме по управлению базами данных

mongos : служба маршрутизации MongoDB, которая помогает обрабатывать запросы и определять местоположение данных в кластере MongoDB

Создание каталога для БД и запуск MongoDB

После установки надо создать на жестком диске каталог, в котором будут находиться базы данных MongoDB.

В ОС Windows по умолчанию MongoDB хранит базы данных по пути C:\data\db , поэтому, если вы используете Windows, вам надо создать соответствующий каталог. В ОС Linux и MacOS каталогом по умолчанию будет /data/db .

Если же возникла необходимость использовать какой-то другой путь к файлам, то его можно передать при запуске MongoDB во флаге --dbpath .

Итак, после создания каталога для хранения БД можно запустить сервер MongoDB. Сервер представляет приложение mongod , которое находится в папке bin. Для этого запустим командную строку (в Windows) или консоль в Linux и там введем соответствующие команды. Для ОС Windows это будет выглядеть так:

Запуск сервера MongoDB mongod

Командная строка отобразит нам ряд служебной информации, например, что сервер запускается на localhost на порту 27017.

И после удачного запуска сервера мы сможем производить операции с бд через оболочку mongo . Эта оболочка представляет файл mongo.exe , который располагается в выше рассмотренной папке установки. Запустим этот файл:

Запуск оболочки MongoDB

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

Теперь поизведем какие-либо простейшие действия. Введем в mongo последовательно следующие команды и после каждой команды нажмем на Enter:

Первая команда use test устанавливает в качестве используемой базу данных test. Даже если такой бд нет, то она создается автоматически. И далее db будет представлять текущую базу данных - то есть базу данных test. После db идет users - это коллекция, в которую затем мы добавляем новый объект. Если в SQL нам надо создавать таблицы заранее, то коллекции MongoDB создает самостоятельно при их отсутствии.

С помощью метода db.users.insertOne() в коллекцию users базы данных test добавляется объект < name: "Tom" >. Описание добавляемого объекта определяется в формате, с которым вы возможно знакомы, если имели дело с форматом JSON. То есть в данном случае у объекта определен один ключ "name", которому сопоставляется значение "Tom". То есть мы добавляем пользователя с именем Tom.

Если объект был успешно добавлен, то консоль выведет результат операции, в частности, идентификатор добавленного объекта.

Добавление в бд MongoDB

Из вывода вы можете увидеть, что к начальным значениям объекта было добавлено какое-то непонятно поле ObjectId . Как вы помните, MongoDB в качестве уникальных идентификаторов документа использует поле _id . И в данном случае ObjectId как раз и представляет значение для идентификатора _id.

Установка драйверов MongoDB

Работа с драйверами на конкретных языках программирования будет рассмотрена в соответствующих разделах, посвященных этим языкам..


Создание базы данных.

По умолчанию база данных находится в папке c:/data/db

Запустим mongo.exe и создадим новую базу данных:


Сразу же установим параметры доступа (имя пользователя и пароль):


Особенностью MongoDb является то, что это документо-ориентированная база данных, и не содержит информацию о структуре, так что тут мы закончили. Сразу переходим к описанию моделей данных.

У нас будет две сущности Article (Статья) и Comment (Комментарий), и Статья будет содержать множество Комментариев:

  • подключение к Mongo
  • добавление статьи
  • изменение статьи
  • индексация
  • удаление статьи
  • вывод статей (фильтрация/пейджинг/сортировка)
  • добавление комментариев
  • удаление комметариев
  • поиск
  • бекап базы

По умолчанию база занимает порт 27017 на сервере (у нас как обычно localhost). Подключаемся к базе:

Для добавления объекта в коллекцию необходимо получить коллекцию по имени

Для добавления можно выполнить команду:

или (как и для изменения)


MongoDb самостоятельно добавляет поле _id — уникальный параметр. Если при выполнении команды Save у объекта будет Id существующий уже в коллекции, то выполнится апдейт этого объекта.

Для быстрого поиска мы можем добавить индекс по какому-либо полю. Для индексации используется команда


Это ускорит сортировку по этому полю.

Для удаления по id создается запрос (Query). В данном случае это

и выполняется команда:

Для вывода значений применив фильтр и отсортированных, да еще и с пейджингом используется курсор.
Например чтобы выбрать из коллекции неудаленные (IsDeleted = false) отсортированные по дате убывания (AddedDate desc) 10ю страницу (пропускаем 90 элементов и выводим 10 следующих) составляется такой курсор:

Так как MongoDb — документо-ориентированная база данных, то не существует отдельной таблицы с комменатариями, а комментарий добавляется в массив комментариев в статье, после чего статья сохраняется:

Комментарий удаляется точно так же. Мы получаем объект article, удаляем из списка комментариев текущий комментарий и сохраняем объект.

Для того чтобы найти элемент содержащий заданную подстроку необходимо задать следующий запрос:

Есть 2 проблемы так как поиск учитывает регистр, т.е. Петя != петя, и к тому же у нас есть много полей.
Первую проблему можно решить использовав регулярные выражения

Но чтобы избавится от обеих проблем сразу я создал поле Bulk куда в нижнем регистре записываются все поля + комментарии и ищу по этому полю.

Именно бекап а не репликация. Для того чтобы иметь доступ к файлу базы данных нужно выполнить lock (база продолжит работать, только в этот момент все команды записи будут кешироваться, чтобы потом выполнится). После чего базу данных можно скопировать, заархивировать и выложить на ftp. После этой процедуры базу надо разлочить (Unlock).
Команды:

Если что-то пойдет не так, то сервер БД надо будет перезапустить с командой:

(1) Кавычки значений параметров являются необязательными
(2) Не нужно указывать слишком много параметров, просто укажите здесь файл конфигурации, имя службы по умолчанию - mongoDB
(3) Расширяемые файлы, такие как .exe или .bat в окнах, могут не иметь своих расширений (mongod.exe может быть опущен как mongod)

5. Запустите сервис

6. Закройте сервис

7. Удалить сервис

использование sc delete mongoDB Кажется, что нет ответа на удаление службы таким способом

8. Логин

У mongoDB и redis нет пароля по умолчанию, просто войдите в систему с параметрами по умолчанию

Но оказывается, что даже nosql, нам нужен пароль.

Сначала следуйте большинству руководств по входу с паролем, сначала пройдите

1. Войдите в базу данных администратора без пароля

2. Создайте учетную запись супер администратора

Может быть отформатирован в строку, а затем скопирован и выполнен в прошлом, написанные таким образом только для удобства чтения

3. Переустановите сервис

(1) Угадайте, что вы не можете сначала установить службу, а затем создать администратора
(2) Переустановка просто добавляет параметр –auth

4. Запустите проверку сервис-логин-тест

Можно напрямую указать параметры аутентификации

Вы также можете войти и проверить

Возьмите navicat в качестве примера

1. Подтвердите пароль


2. Если вы видите только свою новую базу данных, не забудьте открыть скрытый проект


3. Обнаружение проблемы

Теперь мы можем обнаружить, что нет проблем при использовании запроса назад (после проверки).
Но мы используем мышь для щелчка по другим базам данных, некоторые операции просмотра могут вызвать диалоговое окно ERROR, в чем причина?

1. Понимание mongoDB

(1) По умолчанию пользователь с правами администратора отсутствует
(2) Пользователь относится к определенной базе данных (не то же самое, что пользователь реляционной базы данных может управлять несколькими базами данных)

2. Встроенная роль mongoDB


(1) Мы можем просмотреть эти роли в графическом интерфейсе.

(2) Краткое описание роли

Роль пользователя базы данных
read Предоставляет доступ ко всем несистемным коллекциям и системным.indexes, system.js, system.namespaces в системной коллекции
readWrite Содержит все разрешения на чтение, а также разрешения на изменение всех несистемных коллекций и system.js в системных коллекциях.
Роль управления базой данных
dbAdmin Некоторые операции управления объектами базы данных, но не имеют разрешения на чтение и запись для базы данных.
userAdmin Создание и изменение пользователей и ролей для текущего пользователя. Пользователь с полномочиями userAdmin может предоставить любому пользователю любые права доступа к базе данных.
dbOwner Владелец базы данных имеет все разрешения базы данных.
Управление кластером
hostManager Предоставляет разрешения на мониторинг и управление сервером, включая отключение узлов, logrotate, repairDatabase и т. Д.
clusterMonitor Мониторинг только кластеров и наборов репликации.
clusterManager Обеспечивает управление и мониторинг кластера и набора репликации. Пользователи с таким разрешением могут управлять конфигурацией и локальными базами данных (то есть функциями шардинга и репликации).
clusterAdmin Обеспечивает наибольшую функцию управления кластером. Эквивалентно комбинации разрешений clusterManager, clusterMonitor, hostManager и dropDatabase.
Все роли базы данных
readAnyDatabase Прочитал каждое разрешение базы данных. Но не включает базу данных, примененную к кластеру
readWriteAnyDatabase Иметь readWrite каждого разрешения базы данных. Но не включает базу данных, примененную к кластеру.
userAdminAnyDatabase Он обладает полномочиями каждой базы данных userAdmin, но не включает базу данных, примененную к кластеру.
dbAdminAnyDatabase Предоставляет все полномочия базы данных dbAdmin, но не включает базу данных, примененную к кластеру.
Супер разрешения
root dbadmin для администрирования базы данных, useradmin для администрирования базы данных и UserAdminAnyDatabase. Однако он не имеет права на резервное копирование, восстановление и прямое управление коллекцией system. *, Но суперпользователи с правами root могут предоставить эти права самим себе.
Резервное копирование и восстановление роли
backup Предоставьте разрешения, необходимые для резервного копирования данных. Эта роль дает MongoDB Cloud Manager, Ops Manager, mongodump и другим инструментам достаточные разрешения для резервного копирования данных.
restore Предоставьте разрешение, необходимое для восстановления инструмента mongorestore без параметра –oplogReplay или без данных system.profile
Внутренняя роль
__system Предоставляет разрешение на выполнение любой операции над любым объектом в базе данных.

2. Объяснение предыдущей операции

Прежде всего, мы внедрим пароль для входа в будущем. Мы создали нового пользователя root для базы данных администратора, а затем дали этому пользователю роль userAdminAnyDatabase.

Эта роль означает, что мы можем аутентифицировать пользователей в других базах данных (создать роль, удалить роль . )

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


Но мы также можем напрямую предоставить права root пользователю root в базе данных администратора, поэтому он должен быть эквивалентен пользователю root в mysql для windows.

Однако, хотя иногда есть несколько учебных пособий, которые делают это напрямую, кажется, что должны быть некоторые недоступные места, такие как .

Короче говоря, это позволяет GUI подключаться к mongoDB, чтобы получить хороший опыт. Что касается другого контента, его еще нужно изучить .

Читайте также: