Записи с меткой ‘mongodb’
Презентация. Как работает шардинг в MongoDB
MongoId документы и метод to_a
Сегодня натолкнулся на странный баг в программе. Использовал Mongoid для работы с MongoDb. Моделька была примерно такая:
field :coordinates, :type => Array
field :index, :type => Integer
index [[ :coordinates, Mongo::GEO2D ]]
referenced_in :parent, :class_name => 'Content::City', :inverse_of => :children, :index => true, :validate => false
def city
parent
end
def to_a
[
code,
name,
coordinates.try(:join, ':'),
city.try(:name),
city.try(:index).try(:to_i),
index.to_i
]
end
end
В классе Content::Place добавлялись некоторые общие поля и модуль Mongoid::Tree.
При попытке создать аэропорт привязанный к городу выпадала ошибка:
from /Users/undr/.rvm/gems/ruby-1.9.2-p180/gems/bson-1.3.1/lib/bson/bson_c.rb:24:in `serialize'
from /Users/undr/.rvm/gems/ruby-1.9.2-p180/gems/bson-1.3.1/lib/bson/bson_c.rb:24:in `serialize'
from /Users/undr/.rvm/gems/ruby-1.9.2-p180/gems/mongo-1.3.1/lib/mongo/cursor.rb:425:in `construct_query_message'
Соответствие MySQL и MongoDB запросов
Эта шпоргалка создана для того чтобы упростить переход с SQL баз данных на MongoDB. В ней остались не затронутыми многие особенности и возможности MongoDB, неимеющие аналогов в SQL, такие как MapReduce, например. Или те о которых я незнаю. Это просто список соответствий MySQL запросов и запросов MongoDb.
Добавление меток и древовидных категорий в Rails приложение на MongoMapper
Продолжение статьи Пример написания приложения на Rails с использованием MongoDB и MongoMapper вместо MySQL и ActiveRecord.
Пример написания приложения на Rails с использованием MongoDB и MongoMapper вместо MySQL и ActiveRecord.
Наше приложение должно уметь сохранять траты за день и выводить статистику по ним за разное время. Траты хранятся в древообразных категориях и им присваюваются метки. Будет облако меток и вывод списка трат для определенной метки. Приложение будет доступно только для зарегистрированных пользователей и данные пользователей будут скрыты друг от друга.
Статистика будет выводиться за определенные периоды в виде графиков и таблиц. Должно быть два варианта статистики: общая и личная. Личная статистика будет учитывать траты конкретного пользователя и будет доступна только ему. Общая статистика будет основана на данных всех пользователей, она будет анонимна и доступна всем. Общая статистика будет ограниченной детализации. В статистике необходимо учесть, какое эмоциональное воздействие оказала трата: положительное (трата принесла радость, удовлетворение), нейтральное (никаких эмоций) или отрицательное (неприятные траты).
Это приложение не ведет баланс, тут не будет прихода. Только расход. Это сервис статистики по тратам.


(15 голосов, средний: 4.73 из 5)