Рубрика «mongodb» - 20

Суть проблемы

Бывают ситуации когда документы имеют много различных полей и необходимо иметь эффективные запросы по ним. Например есть документ описывающий человека:

{
    _id: 123,
    firstName: "John",
    lastName: "Smith",
    age: 25,
    height: 6.0,
    dob: Date,
    eyes: "blue",
    sign: "Capricorn",
    ...
}

По таким документам можно делать выборку людей по цвету глаз, определенного роста, фамилии и по прочим характеристикам. А что делать если например документ состоит из десятков полей, или заранее не известны, или каждый документ имеет свой набор полей? Как при помощи индексов быстро решить данную проблему, но при этом не строить их по каждому полю, т.к это слишком дорогое решение. Читать полностью »

Следим за коллекцией. Tailable cursors

Если вы молоды и энергичны интересуетесь mongoDb, хотите подискутировать на тему перевода слова tailable на русский, и вас интересует откуда взята пикрелейтед — добро пожаловать под кат.

Читать полностью »

В данной статье будет рассмотрена одна из новых возможностей MongoDB версии 2.4 — полнотекстовый поиск. Большая часть этой статьи будет вольным переводом документации, которая, к слову, очень подробная, но разрозненная. Здесь все будет собрано вместе. Так как этого для полноценной статьи мне показалось мало, я решил сравнить МонгоДБ с другой популярной программой для текстового поиска — Sphinx. Мое сравнение будет очень поверхностным, так как со Сфинксом я раньше не работал. Создам таблицу с 16 000 000 записей и посмотрю, кто быстрее.

image
Читать полностью »

в 18:47, , рубрики: mongodb, nosql, метки: , ,

Сегодня состоялся релиз финальной версии MongoDB 2.4. Одна из новых возможностей — поддержка полнотекстового поиска с морфологией и стоп-словами. Правда, пока только в экспериментальном режиме. Среди 15 поддерживаемых языков есть и русский, что очень радует.

Ещё одно заметное изменение — смена движка javascript. Вместо SpiderMonkey теперь используется V8. Довольно логичный шаг, теперь было бы неплохо посмотреть сравнительные тесты map-reduce.

Также можно отметить улучшения в индексировании и выборке гео-данных.

И ещё одно крупное изменение: добавление ролей пользователей и привилегий(read, readWrite, dbAdmin, clusterAdmin и т.д.). Посмотрим, что из этого выйдет.Читать полностью »

В Яндекс.Почте совсем недавно появилась новая возможность — письма в смс. Мы сделали её не только для тех, кто любит бесплатно отправлять текстовые сообщения, но и для тех, кому нужна быстрая реакция получателя. Теперь из веб-интерфейса почты вместе с письмом вы можете оправлять смс-сообщение со ссылкой на копию самого письма.

Ссылка откроется в специальном мобильном интерфейсе, не требующем авторизации. Там же можно прочитать письмо и ответить на него. При этом совершенно не важно, на каком сервисе находится электронная почта получателя. Сегодня мы раскроем несколько секретов о технических деталях реализации.

Уведомить получателя об отправленном письме можно было и раньше, но с небольшими ограничениями. Например, если письмо было отправлено не на Яндекс.Почту, смс выглядело вот так:

Бесплатно, без регистрации, но с смс

Читать полностью »

Перевод этой статьи уже есть на хабре, но он ужасен и содержит ложную информацию.

Приветствую, искатели приключений! Путешествуя по территории индексации MongoDB хотя бы некоторое время, вы, возможно, познакомились с таким правилом: если ваш запрос содержит сортировку/порядок (orderby) – добавьте сортируемое поле в конец индекса который используется для запроса.

Во многих случаях когда запрос содержит равенство (то есть поиск конкретного значения, например, {“name”: “Charlie”}) данная мантра бывает весьма полезной.

Запрос

db.drivers.find({"country": {"$in": ["A", "G"]}).sort({"carsOwned": 1})

Индекс

{"country": 1, "carsOwned": 1}

Такая комбинация будет не такой эффективной, как может показаться, не смотря на то, что индекс соответствует правилу. В этом запросе есть ловушка, в которую вы с легкостью попадете следуя общепринятому мнению.Читать полностью »

Ситуация, когда приложение и сервер баз данных находятся на одной и той же машине — очень редкая. Но по умолчанию в MongoDB авторизация отключена и вы не сможете соединить из вне. Мне не удалось найти краткую и понятную инструкцию, как это можно быстро исправить. Что и стало поводом для этого поста.Читать полностью »

system.indexes

  • Предисловие
  • Настройка Amazon EC2
  • Установка MongoDb
  • Настройка репликации
  • Что почитать

local.abstract

В этой статье я расскажу о том, как максимально безболезненно организовать репликацию MongoDb на базе Amazon EC2. Несомненно, существует отличная документация как по работе с Amazon EC2, так и по настройке MongoDb в целом и репликации в частности. Но, как известно, дьявол живёт в мелочах. И в этой статье я выделю те “мелочи”, которые более всего донимали меня.
Читать полностью »

23 января 2013 года будет создана первая в Украине MongoDB User Group. Мы хотим, чтобы больше людей изучили и полюбили более гибкую, масштабируемую, документо-ориентированную СУБД «MongoDB».

Зачем это необходимо? Мы создадим теплую и ламповую обстановку для задушевных технических бесед, каждый раз будут новые лица как среди докладчиков, так и среди участников, будем готовить действительно интересные презентации по MongoDB. Одним словом, регулярные мероприятия, на которые тратить время можно и нужно.

Первая встреча организована при поддержке внутреннего движение по свободному обмену знаниями Ciklum Practice Leaders, но это только начало.

Читать полностью »

Доброго времени суток. Мне хотелось бы поделится с хабросообществом о своем опыте использования Node.JS на живом проекте. Пять месяцев назад я начал воплощать одну из своих старых задумок — сервис достижений.
Node.JS для стартапа или о проблемах на продакшене
При разработке проектов я предпочитаю придерживаться точке зрения, что выбор технологии должен быть обоснован дешевизной ее использования. Поэтому для своего проекта я выбрал стек — Node.JS + mongoDB, так как это те технологии, которыми я лучше всего владею.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js