1
我有一個表creations
。每個屬於一個類別(與categoryId
)。他們也有一個叫statFavorites
的字段。查詢最受歡迎的每個類別
我想返回列表中每個類別的收藏夾最多的單個創建的平面列表。
我能想到的唯一方法就是用groupedMapReduce
。有另一種方法嗎?
var categories; // objects with an id
r.table('creations')
.filter(function(creation) {
return categories.filter(function(category) {
return category.id == creation.categoryId
}).length > 0
})
.groupedMapReduce(function(row) {
return row("categoryId")
}
, function(row) { return row }
, function(best, creation) {
return r.branch(creation("statFavorites").gt(best("statFavorites")), creation, best
})
兩件事情上面發生的事情:首先,我過濾的創作只匹配我關心的類別(以蒙戈的in
查詢相當於如何做到這一點的反思。?)
二,我得到了每個人最喜歡的。
有沒有更好的方法來做到這一點?當我寫數據時,預先計算事物也可以。