5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MongoDBAdvent Calendar 2013

Day 16

リリース間近!MongoDB 2.6のリリースノート翻訳: Aggregation Pipelineの変更点

Last updated at Posted at 2013-12-17

MongoDB Advent Calendarの穴埋め用投稿です。

そろそろリリースされそうなMongoDB 2.6のリリースノートの一部を翻訳しました。小出しになってあれですが、今回はAggregation Pipelineの変更点です。

次回は2.6で大きく変わった書き込みオペレーションの変更点を翻訳します。

注:MongoDB 2.6は年内リリース予定です。

元のリリースノートはこちら
http://docs.mongodb.org/master/release-notes/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)

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?