本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
$sortByCount
8.0.1 版的新功能。
Amazon DocumentDB $sortByCount 中的彙總階段會根據指定表達式的值來分組傳入的文件,然後計算每個不同群組中的文件計數,並依計數以遞減順序排序結果。它相當於$group計數欄位上具有$sum累積器後接階段的$sort階段。
參數
-
expression:分組依據的表達式。這可以是欄位路徑 (字首為$) 或任何有效的彙總表達式。
範例 (MongoDB Shell)
下列範例示範如何使用 $sortByCount階段,依類別欄位計數和排序文件。
建立範例文件
db.products.insertMany([ { name: "Widget", category: "electronics" }, { name: "Gadget", category: "electronics" }, { name: "Doohickey", category: "electronics" }, { name: "Apple", category: "food" }, { name: "Banana", category: "food" }, { name: "Hammer", category: "tools" } ]);
查詢範例
db.products.aggregate([ { $sortByCount: "$category" } ]);
輸出
[
{ "_id": "electronics", "count": 3 },
{ "_id": "food", "count": 2 },
{ "_id": "tools", "count": 1 }
]
結果會count依遞減順序自動排序。
程式碼範例
若要檢視使用$sortByCount階段的程式碼範例,請選擇您要使用的語言標籤: