Aggregation FW機能、SQLとの比較
使い方や例など詳細は本家のドキュメントを参照してください。
基本機能
| オペレータ | SQL相当 | 説明 |
|---|---|---|
| $project | SELECT | 集計用のフィールドの削除・追加・定義など |
| $match | WHERE | 絞込み条件を指定 |
| $limit | LIMIT | 対象行数指定 |
| $skip | LIMIT | 読み飛ばし行数指定 |
| $unwind | - | 配列フィールドを複数ドキュメントに展開(使わない使えない使いたくない) |
| $group | GROUP BY | 集計 |
| $sort | ORDER BY | ソート |
| $geoNear | - | 座標フィールド近傍検索+ソート |
集計($group)機能
| 集計オペレータ | SQL相当 | 説明 |
|---|---|---|
| $first | - | SQLでもやりたい事は多いのでうれしい |
| $last | - | 同上 |
| $max | MAX | |
| $min | MIN | |
| $avg | AVG | |
| $sum | SUM | {$sum:1}でCOUNTを代用できる |
| $push | - | 全要素を配列として返す |
| $addToSet | - | $pushのユニーク版(どっちも便利) |
文字列操作
| オペレータ | SQL相当 | 説明 |
|---|---|---|
| $concat | CONCAT | 文字列結合 |
| $strcasecmp | - | 文字列比較($cmpの文字列版) |
| $substr | SUBSTR | 部分文字列 |
| $toLower | LOWER | 小文字変換 |
| $toUpper | UPPER | 大文字変換 |
日付関連
| オペレータ | SQL相当 | 説明 |
|---|---|---|
| $dayOfYear | ... | 1-366 |
| $dayOfMonth | ... | 1-31 |
| $dayOfWeek | ... | 1-7 |
| $year | ... | |
| $month | ... | 1-12 |
| $week | ... | 0-53 |
| $hour | ... | 0-23 |
| $minute | ... | 0-59 |
| $second | ... | 0-59(,60) |
| $millisecond | ... | 0-999 |