2016-05-12 76 views
0

我在RethinkDB新的,需要通過「ID」分組返回最小值,最大值和「價值」的魅力,這是我的Json的例子:選擇回國最大,最小和平均

{ 
    "mycontent": [ 
    { 
     "id": "000000000011", 
     "value": "300" 
    }, 
    { 
     "id": "000000000012", 
     "value": "500" 
    }, 
    { 
     "id": "000000000011", 
     "value": "700" 
    }, 
    { 
     "id": "000000000013", 
     "value": "200" 
    }, 
    { 
     "id": "000000000011", 
     "value": "950" 
    }, 
    { 
     "id": "000000000012", 
     "value": "150" 
    } 
    ] 
} 

我發現一些問題了解如何使用RethinkDB邏輯來做到這一點。 有什麼幫助嗎?

回答

0

您可以使用()通過id從mycontentgroup中獲取值。一個問題是你的數據是字符串,因此你需要轉換爲avg才能正常工作。

是這樣的:

r.expr({ 
    "mycontent": [ 
    { 
     "id": "000000000011", 
     "value": "300" 
    }, 
    { 
     "id": "000000000012", 
     "value": "500" 
    }, 
    { 
     "id": "000000000011", 
     "value": "700" 
    }, 
    { 
     "id": "000000000013", 
     "value": "200" 
    }, 
    { 
     "id": "000000000011", 
     "value": "950" 
    }, 
    { 
     "id": "000000000012", 
     "value": "150" 
    } 
    ] 
})('mycontent') 
    .merge({value: r.row('value').coerceTo('number')}) 
    .group('id') 
    .avg('value') 
+0

謝謝kureikain,但我需要讓我的數據更AVG,最大和最小,我想是這樣。集團(「ID」)AVG(「值」。 ).max(value).min(value)但我想我還沒有理解它是如何工作的。 – BitFlow

相關問題