Я хочу предоставить условие для моей группировки в мондоиде, но как я могу отправить в несколько значений для атрибута в условиях хэш? Это То, что я хочу сделать:
PageViews.collection.group(
cond: {page_id: ['4e6912618083ab383e000010', '4e6912618083ab383e000009']},
key: 'timestamp',
initial: {count: 0},
reduce: "function(x, y) {y.count += x.count;}"
)
поэтому поэтому любой PageView
с любым Page_ID
будет отдельно , но я не могу получить хэш состояние ( cond
) Чтобы работать вообще! Что я здесь не так, я действительно путаю.
Вот документы API для группы ()
: http: //api.mongodb.org/ruby/current/mongo/collection.html#group-instance_method[127 Only_method
Any Help будет очень оценена.
Обновление
Запуск запроса как таковой:
PageViews.collection.group(
cond: {page_id: { $in : ['4e6912618083ab383e000010', '4e6912618083ab383e000009']}},
key: 'timestamp',
initial: {count: 0},
reduce: "function(x, y) {y.count += x.count;}"
)
возвращает следующее Ошибка, но синтаксис выглядит хорошо для меня:
SyntaxError: (irb):170: syntax error, unexpected ':', expecting tASSOC
cond: {page_id: { $in : ['4e6912618083ab383e000010',...
^
(irb):170: syntax error, unexpected '}', expecting $end
...', '4e6912618083ab383e000009']}},
... ^
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:45:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:8:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:40:in `'
from script/rails:6:in `require'
from script/rails:6:in `'
Это расстраивает, что здесь нет примеров этого, документы говорят, что параметр условия как таковой:
(строка, BSON :: код): cond - По умолчанию: {} - документ, указав Запрос для фильтрации документов, над которыми работает агрегация (по желанию).
Так что, если это займет строку
или BSON :: Code
, что бы это выглядеть?