我有一個屬於用戶的元素模型。我試圖計算下面的哈希值:有多少用戶的元素數爲1,2,3等。我採用的方法是首先生成{user - > num元素}的哈希,然後我對它進行排序使用第二個map-reduce。在Mongoid中鏈接map_reduce調用的正確方法是什麼?
這是我到目前爲止有:
Element.map_reduce(%Q{
emit(this.user_id, 1);
}, %Q{
function(key, values) {
return Array.sum(values);
}
}).out(inline: true).map_reduce(%Q{
if (this.value > 1) {
emit(this.value, this._id);
}
}, %Q{
function(element_count, user_ids) {
return user_ids.length;
}
}).out(inline: true)
這給了我一個「未定義的方法`map_reduce」錯誤。我無法在文檔中找到答案。任何幫助都會很棒。
您使用的是什麼版本的Mongoid? – 2013-03-18 14:45:59
我正在使用3.0.23 – Yevgeniy 2013-03-19 05:15:12