的計數我現在有一個MongoDB的集合,看起來像這樣:排序方式過濾子文檔數組元素
{
{
"_id": ObjectId,
"user_id": Number,
"updates": [
{
"_id": ObjectId,
"mode": Number,
"score": Number
},
{
"_id": ObjectId,
"mode": Number,
"score": Number
},
{
"_id": ObjectId,
"mode": Number,
"score": Number
}
]
}
}
我期待找到一種方法,找到每個模式更新的最大數量的用戶。例如,如果我指定模式0,我希望它按mode: 0
以最大數量的更新順序加載用戶。
這在MongoDB中可能嗎?它不需要是一個快速算法,因爲它會被緩存很長一段時間,並且會異步運行。
因爲有更好的方法來計算陣列,如用這並不是非常有效的' $ size'。你也不會解決爲特定「模式」值要求「過濾計數」的問題。還有更有效的方法,例如在添加項目時在文檔本身內維護每個「模式」的計數。 –
更重要的方面是按模式過濾。您是否能夠將此應用於此解決方案? – Redback93
@ Redback93評論的要點是,這不是一個解決方案,實際上當時還有另一個答案,它展示瞭如何用兩種有效的方法獲得你想要的東西。 –