在Linux上的RethinkDB 1.16.2-1上,我有一個「產品」表,其中包含「類別」數組和「模型」數組,如下所示:在一個查詢中返回MAX()和MIN()
{
"name": "ABC Cable Series" ,
"categories": [
"Analog Audio>Instrument>Cables" ,
"Analog Audio>Microphone Cables"
] ,
"models": [
{
"modelCode": "ABC-1" ,
"ssp": 11.95 , ...
} ,
{
"modelCode": "ABC-2" ,
"ssp": 15.95 , ...
}
]
} , ...
我需要同時獲得包含給定產品類別的產品中的最低和最高價格(ssp)範圍的產品。我目前能得到的最高價格是這樣的:
r.db("store").table("products").filter(function(prod) {
return prod("categories").contains(
function(cat){return cat.match("^Analog Audio>")
})
}).concatMap(function(doc) {
return doc("models")("ssp")
}).max()
比運行2個查詢其他,有沒有更有效的方式在一個查詢來獲取兩個最大值和最小值?
第二個想法是,最好是返回SSP值列表並計算應用程序中的MAX和MIN(數組最多包含200個價格)。你怎麼看? – Smyrnian 2015-04-06 22:41:19