В конце ноября вышел релиз MongoDB 3.4, стало быть наконец настал тот час когда можно смело использовать новые фичи, конечно если ваши админы планируют обновлять MongoDB до этой версии. Сегодня хочу затестить еще одну вкусняшку по имени Views. Для примера возьмем запрос, о котором я подробно рассказывал в одном из предыдущих постов, и создадим на его основе вьюху. Выглядит Read-only View как коллекция, документы которой билдятся по aggregation запросу.
Показаны сообщения с ярлыком MongoDB. Показать все сообщения
Показаны сообщения с ярлыком MongoDB. Показать все сообщения
среда, 14 декабря 2016 г.
воскресенье, 6 ноября 2016 г.
MongoDB Linked List
На этой неделе появилась версия MongoDB 3.4.0 Release Candidate 2 с кучей вкусняшек на борту, которые хочется попробовать уже сейчас. Предлагаю провести дегустацию одного из самых вкусных блюд предстоящего релиза - пайпа по имени $graphLookup - с помощью которого можно выполнять поиск по коллекции рекурсивно. Напишем запрос к коллекции, документы которой имплементируют связный список. Реализация подобной структуры в текущем стабильном релизе на мой взгляд вообще не вариант, и я рад что уже совсем скоро смогу рассчитывать на нее в процессе проектирования.
воскресенье, 12 июня 2016 г.
MongoDB Elasticsearch River
воскресенье, 1 мая 2016 г.
Go Tail MongoDB
среда, 10 февраля 2016 г.
Node.js MongoDB Iterate Cursor
Три паттерна итерации по курсору MongoDB: первый - "классический" - на старых добрых функциях обратного вызова, второй - "на любителя" - на промисах, третий - "для извращенцев эстетов" - на промисах и генераторах с использованием co, второй и третий можно применять только со второй версией MongoDB Native NodeJS Driver и Node.js не меньше четвертой версии.
четверг, 10 декабря 2015 г.
MongoDB Many to Many
суббота, 3 октября 2015 г.
MongoDB Linked List
Небольшой этюд на тему связного списка в MongoDB. Приведенный ниже код на мой взгляд показывает, что использование этой структуры данных в MongoDB - не самая лучшая идея. Правда предложенный мной "альтернативный" вариант мне тоже не особенно нравится, но сегодня я просто не знаю "тру" решения.
воскресенье, 6 сентября 2015 г.
MongoDB && Elasticsearch Node.js package
Не знаю как в настоящий момент обстоят дела с поддержкой river plugins в Elasticsearch, а Node.js-модуль по имени mongodb-es-river уже готов оказать помощь в индексировании документов MongoDB в Elasticsearch, теперь с возможностью горизонтального масштабирования процесса "перетекания" данных. Далее расскажу как приготовить river-сервис на основе перечисленных выше ингредиентов.
четверг, 13 августа 2015 г.
MongoDB bitwise query operators
В MongoDB уже довольно давно существует оператор по имени $bit для выполнения битовых операций and | or | xor. И вот, как говорится не прошло и года, а на самом деле спустя четыре года, в версии 3.1.6 появилась возможность выполнять запросы по битовой маске. Я ждал эту фичу, предлагаю затестить:
пятница, 24 июля 2015 г.
Node.js. Scaling apps
Секрет создания больших приложений - не создавать большие приложения. В этом посте я хочу раскрыть рецепт приготовления масштабируемых приложений на архитектуре микросервисов на платформе Node.js с использованием MongoDB. Для примера приготовим какое-нибудь бесполезное веб-приложение. Особенность этого рецепта в том, что ничего кроме Node.js и MongoDB не потребуется.
воскресенье, 21 июня 2015 г.
MongoDB && Node.js && Elasticsearch
Продолжение темы предыдущего поста. Недолго музыка играла: разработчики эластика сообщили о том, что river-плагины устарели, и будут постепенно выводится из оборота, подробности можно узнать в этом посте на блоге эластика. Поэтому я начал потихоньку готовить свой велосипед в виде npm-пакета для Node.js. Разумеется на текущий момент, что называется not ready for production, тем не менее решает вопрос, что и демонстрирует следующее видео:
понедельник, 1 июня 2015 г.
MongoDB && Elasticsearch
Как подружить MongoDB и Elasticsearch с помощью MongoDB River Plugin for ElasticSearch. По ходу развернем MongoDB Replica Set, Elasticsearch Cluster, создадим пару коллекций с парой тестовых документов в каждой из них, пару индексов по одному на коллекцию, а также затестим что получилось путем отправки нескольких нехитрых запросов через cURL. В процессе используем ConEmu (у меня окна в качестве ОС), MongoDB Shell, Git SCM (Bash + cURL) и Python JSON tool (для читабельного вывода в консоль ответов на запросы в формате JSON).
воскресенье, 8 марта 2015 г.
MongoDB Set Operators
Пример работы с множествами в MongoDB. В качестве множеств используем массивы. Извлечение данных реализуем на Aggregation Pipeline, в частности с помощью выражений для работы с множествами. По ходу создадим структуру данных, имитирующую взаимоотношения между полами. Будет интересно.
среда, 19 ноября 2014 г.
Lightweight wrapper on MongoDB native Node.js driver
четверг, 30 октября 2014 г.
Как получить длину массива документа MongoDB
воскресенье, 21 сентября 2014 г.
MongoDB ObjectId by date
Продолжение темы предыдущего поста - зачем мне все это? К примеру для того, чтобы вытащить документы коллекции MongoDB по дате создания. Возьмем коллекцию messages, созданную в одном из предыдущих постов. Отдельное поле, содержащее дату или timestamp отсутствует, однако дату создания документа можно получить по ObjectId.
воскресенье, 31 августа 2014 г.
MongoDB Tailable Cursors
воскресенье, 20 июля 2014 г.
Node.js Singleton Sample App
Пример приложения на Node.js + Express + MongoDB Native Driver в продолжение темы предыдущего поста, которое можно рассматривать в качестве "заготовки" модели. Приложение использует общий конструктор моделей доступа к данным, в котором для примера реализован единственный метод для извлечения одного документа коллекции, кэш созданных объектов, а также кэш запросов к базе данных.
суббота, 19 июля 2014 г.
Node.js Singleton
суббота, 26 апреля 2014 г.
Пишем простой чат на Node.js. Пятая серия
Продолжаем рассматривать варианты хранения данных приложения Node.js на примере создания простого чата на TCP-сокетах. Использовать реляционные базы данных в нашем случае по-моему перебор, поэтому настоящим постом завершаем. Напоследок рассмотрим применение Mongoose ODM (Object Data Mapping).
Подписаться на:
Сообщения (Atom)






