執行復雜查詢我想在這個模式進行查詢:如何在MongoDB中
{
"name" : "xxx",
"guests" : [
{
"category" : "category 1",
"arrived" : false
},
{
"category" : "category 2",
"arrived" : false
},
{
"category" : "category 1",
"arrived" : true
},
{
"category" : "category 2",
"arrived" : true
}
]
}
我想要得到某個名字,與客人的比例列表抵達各個類別。
對於上面的例子,我想收到的文件:
{
name : "xxx",
results : [
{
category : "category 1",
arrived : 50 (percent)
},
{
category : "category 2",
arrived : 50 (percent)
},
]
有沒有辦法用一個單一的MongoDB查詢做到這一點?另外,我應該在客戶端還是服務器端進行這種計算?
解決,你應該做的計算,在一般情況下,複雜的計算應該在客戶端的MongoDB的完成應該是一個大的,愚蠢的數據存儲這確實幾乎沒有處理。它只是存儲和檢索數據。你應該尊重這個目標,儘量避免強迫MongoDB做任何可以在客戶端進行的計算,除非你願意承擔嚴重的性能處罰。即使是「平凡的」任務,例如尋找平均值或求和字段,通常也應該推送給客戶。 – chridam