MongoDB Advent Calendarの穴埋め用投稿です。
そろそろリリースされそうなMongoDB 2.6のリリースノートの一部を翻訳しました。小出しになってあれですが、今回はAggregation Pipelineの変更点です。
次回は2.6で大きく変わった書き込みオペレーションの変更点を翻訳します。
注:MongoDB 2.6は年内リリース予定です。
元のリリースノートはこちら
http://docs.mongodb.org/master/release-notes/2.6/
他の翻訳
- まとめ!MongoDB 2.6のリリースノート翻訳と所感
- リリース間近!MongoDB 2.6のリリースノート翻訳: 既存機能の変更点
- リリース間近!MongoDB 2.6のリリースノート翻訳: 新登場のWrite Commandたち
- リリース間近!MongoDB 2.6のリリースノート翻訳: 新機能と改善点
- リリース間近!MongoDB 2.6のリリースノート翻訳: エンタープライズ向け機能
目次
新機能
- アグリゲーションパイプラインの変更点
- db.collection.aggregation()が第2引数を取るようになりました
-
$outステージの追加 - アグリゲーションオペレーションはカーソルを返すようになりました
- アグリゲーションパイプライン用のexplainオプションの追加
- ソートに関する改善点
- フィールドレベルアクセスコントロールのフィルタリングを提供する
$redactステージの追加 - アグリゲーションパイプラインで、
$setオペレーションのサポート -
$mapと$letがアグリゲーションパイプラインで使えるようになりました -
$literalがアグリゲーションパイプラインで使えるようになりました -
$condが引数としてObjectsを取れるようになりました - 新しい
$sizeオペレーターがアグリゲーションパイプラインに追加されました
アグリゲーションパイプラインの変更点
db.collection.aggregation() が第2引数を取るようになりました
第2引数でoptionを設定可能です。
(訳注: optionではexplain,allowDiskUsage,cursorを指定可能になりました。)
詳細情報: db.collection.aggregate()
$outステージの追加
アグリゲーションパイプラインの結果をコレクションへ書き込む、$outというステージが追加されました。
詳細情報: $out documentation
アグリゲーションオペレーションはカーソルを返すようになりました
mongoシェルのdb.collection.aggregate()がカーソルを返すようになりました。カーソルを返すことによって、アグリゲーションパイプラインは、任意のサイズの結果セットを返すことができます。以前のバージョンでは、集計オペレーションの結果は、16メガバイトより大きくなることができませんでした。
詳細情報: db.collection.aggregate()
アグリゲーションパイプライン用のexplainオプションの追加
アグリゲーションのための新しいexplainオプションは、mongodがパイプラインを処理する方法についての情報を提供します。
詳細情報: db.collection.aggregate(), aggregate
ソートに関する改善点
$sortと$groupのパフォーマンスが改善され、より効率的なソーティングシステムを提供します。
また、新しく追加されたallowDiskUsageオプションは一時ファイルにデータを書き込む処理段階を可能にします。
詳細情報: db.collection.aggregate(), aggregate
フィールドレベルアクセスコントロールのフィルタリングを提供する$redactステージの追加
$redactステージはパイプラインの結果をフィールドレベルで制限できます。
詳細情報: $redact
アグリゲーションパイプラインで、$setオペレーションのサポート
$projectと$redactが$setオペレーションをサポートしました。
$mapと$letがアグリゲーションパイプラインで使えるようになりました
$mapと$letによってアグリゲーションパイプラインで変数の宣言と操作が可能になりました。$project, $group, $redactで使えます。
詳細情報: $let (aggregation), $map (aggregation)
$literalがアグリゲーションパイプラインで使えるようになりました
新しい$literalオペレーターで明示的に文字列を指定できるようになりました。
(訳注: “$”などのMongoDBで特別な意味を持つ文字列を使用する時に使います。)
詳細情報: $literal(aggregation)
$condが引数としてObjectを取れるようになりました
これまで$condはの引数は配列のみでしたが、Objectも取れるようになりました。
(訳注: $condはconditionの略で、引数にif文を入れることで返り値を変更できます。これまでは引数は配列で与えていましたが、document形式、つまりハッシュに対応しました。)
詳細情報:$cond(aggregation)
新しい$sizeオペレーターがアグリゲーションパイプラインに追加されました
配列の要素数を返す$sizeが追加されました。
詳細情報: $size(aggregation)