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

/ АНАЛИЗ АРХИТЕКТУРА ДАННЫЕ: + ДАННЫЕ + Информация + SQL intro - MongoDB intro | Почерпнуть мудрость | Общая структура MongoDB и в сравнении с SQL | Установка версии 3+ на Ubuntu/Mint | Настройка | Общий обзор команд для mongodb shell | Поиск нужного через mongodb shell: DevOps Gaming Библиотека ПРОЦЕССЫ ТЕСТИРОВАНИЕ
MongoDB intro
latest update of the page: 09-01-2023, 21:12 UTC
Почерпнуть мудрость
Общая структура 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}}]})