我正在嘗試rethinkDB並且正在玩弄一些查詢以查看它是否可以適合用例。到現在爲止還挺好。但是,我有一個關於reQL的問題。在我的文檔中計算數組中的不同變量
例如,在這種情況下,我存儲在rethinkDB分析事件,如:
[{
"userId": "abdf213",
"timestamp": "Sat Jan 17 2015 00:32:20 GMT+00:00",
"action": "Page"
},
{
"userId": "123abc",
"timestamp": "Sat Jan 17 2015 00:42:20 GMT+00:00",
"action": "Track"
},
{
"userId": "abdf213",
"timestamp": "Sat Jan 17 2015 00:45:20 GMT+00:00",
"action": "Track"
},
{
"userId": "123abc",
"timestamp": "Sat Jan 17 2015 00:44:20 GMT+00:00",
"action": "Page"
},
{
"userId": "123abc",
"timestamp": "Sat Jan 17 2015 00:48:20 GMT+00:00",
"action": "Page"
}]
我想我的查詢的最終結果是這樣的:
{
"group": "123abc",
"reduction": {
"Page": 2,
"Track": 1
}
},
{
"group": "abdf213",
"reduction": {
"Page": 1,
"Track": 1
}
}
請牢記行動名稱未預先知道。
TBH,我不太清楚如何用ReQL實現這一點。
現在我有這個查詢(使用數據瀏覽器):
r.db('test').table('events').group('userId').map(function(event) {
return event('action')
})
這回DOC像這樣的:
{
"group": "-71omc5zdgdimpuveheqs6dvt5q6xlwenjg7m" ,
"reduction": [
"Identify" ,
"Page" ,
"Track"
]
}
任何人都可以點我在這裏向正確的方向?
乾杯,
小號
這是一個有效的答案(和清潔),但是你的查詢比@ user3595332慢6倍。我不知道爲什麼。您的查詢平均時間是我的筆記本電腦的1.2秒,而另一個是200毫秒... – Syl