# ПРОЦЕССЫ Ресурсы Цикл разработки ПО Waterfall RUP Agile Kanban Управление Теория ограничений АНАЛИЗ Ресурсы ПО для Аналитика Кто аналитики? Бизнес-процесс Требования Уровни и типы Источники Стейкхолдеры Нотации Vision (Концепция) Сервисы АРХИТЕКТУРА Ресурсы ПО для Архитектора Кто архитекторы? Архитектурные слои язык Archimate GAP-анализ SOA Типы интеграции Solution Design (Проектное решение) DDD Микросервисы и service mesh ESB HTTP/REST RPC DevOps CI/CD/CDP VM и Docker Контракты API Оценка задачи git Frontend Apache Регулярка Linux ТЕСТИРОВАНИЕ Ресурсы QA и QC Цикл тестирования Уровни тестирования Виды тестирования Баг-репорт Шаблоны Тестирование требований Тест-анализ Тест план Тест дизайн Метрики качества Автотесты Selenium XPATH Генератор данных Безопасность Нагрузочное ДАННЫЕ Ресурсы MDM Big data Об информации SQL intro MongoDB intro БИБЛИОТЕКА Курсы Системная инженерия Сознание, интеллект Политэкономия Сумма технологии Экстраполяция в будущее Красивые диаграммы Арт
Эта страница:
Почерпнуть мудрость Общая структура MongoDB и в сравнении с SQL Установка версии 3+ на Ubuntu/Mint Настройка Общий обзор команд для mongodb shell Поиск нужного через mongodb shell:
Другие страницы:
ДАННЫЕ Информация SQL intro MongoDB intro
Другие разделы:
# АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ DevOps БИБЛИОТЕКА ПРОЦЕССЫ ТЕСТИРОВАНИЕ
MongoDB intro
last update: 18-04-2020, 11:19
Почерпнуть мудрость
Общая структура MongoDB и в сравнении с SQL

MongoDB = одна из самых популярных документоориентированных СУБД с открытым исходным кодом
Использует JSON-подобные документы и схему БД:

MongoDB в сравнении с SQL

sql-nosql difference
Установка версии 3+ на Ubuntu/Mint
  • Ставится просто через репозиторий ОС:sudo apt-get install mongodb
Настройка
  • Посмотреть - какие порты Монга слушает на локалкеsudo lsof -iTCP -sTCP:LISTEN | grep mongo
  • Соединение с удалённой базой через консольmongo [IP]
  • Настройки для версии 2.6+ хранятся в файле /etc/mongodb.conf
  • Настройки для версии 3.0+ хранятся в файле /etc/mongod.conf
  • Init-скрипт версии 3.0+ /etc/init.d/mongod может быть использован для того чтобы приказать демону процесса выполнить stop, start, restart
Общий обзор команд для mongodb shell
показать существующие базы show dbs
Заюзать базу use [dbase name]
показать существующие коллекции в базе show collections
добавить документ в коллекцию unicorn db.unicorns.insert({name: 'Leto', gender: 'm', home: 'Arrakeen', worm: false}) db.unicorns.insert({name: 'Aurora', dob: new Date(1991, 0, 24, 13, 0), loves: ['carrot', 'grape'], weight: 450, gender: 'f', vampires: 43})
удаление всех документов в коллекции db.unicorns.remove()
Дропнуть базу db.dropDatabase()
Поиск нужного через mongodb shell:
имя индекса, базы данных и коллекции, для которой индекс был создан, а также полей, которые включены в него. db.system.indexes.find()
найти всё подряд И ВЫВЕСТИ ВСЁ ЭТО КРАСИВО с переносом строк, а не кучей db.[pathtocollection].find().pretty()
найти со значением полей содержащих "snacks", i - case insensitive db.[pathtocollection].find({ type: /snacks/i })
найти со значением полей type равному "snacks" db.[pathtocollection].find({ type: "snacks" })
найти со значением полей type равному "snacks" и вывести с форматированием db.[pathtocollection].find({ type: "snacks" }).pretty()
найти все документы, для которых вывести только поля name и gender (_id включается всегда по-умолчанию, поэтому его надо отключать отдельно) db.[pathtocollection].find(null,{name: 1, _id:0, gender:1})
найти все документы и вывести значения всех их полей, где отсутствует (false) поле vampires db.[pathtocollection].find({vampires: {$exists: false}})
$gt Matches values that are greater than the value specified in the query.
$gte Matches values that are greater than or equal to the value specified in the query.
$in Matches any of the values that exist in an array specified in the query.
$lt Matches values that are less than the value specified in the query.
$lte Matches values that are less than or equal to the value specified in the query.
$ne Matches all values that are not equal to the value specified in the query.
$nin Matches values that do not exist in an array specified to the query.
db.[pathtocollection].find({ type: 'food', price: {$lt: 9.95}})
найти документы с полем type равным food ИЛИ snacks ($in вместо $or выгоднее использовать если поиск идёт внутри поля) db.DBNAME.find( { type: { $in: [ 'food', 'snacks' ] } } )
найти всех самок единорогов, которые или любят яблоки, или любят апельсины, или весят менее 500 фунтов. db.DBNAME.find({gender: 'f', $or: [{loves: 'apple'}, {loves: 'orange'}, {weight: {$lt: 500}}]})