2017-04-15 15 views
0

MongoDBを使用してデータベースを開発しており、ビューを読み取り専用コレクションとして扱いたいと考えています。特に、私はmap-reduce関数をビューで実行したいと思っています。だから私の質問には次のようなものが含まれています:MongoDBのビューでMapReduceがサポートされないのはなぜですか?

  • なぜビューはmap-reduceをサポートしていませんか?
  • 今後マップの縮小機能をビューに追加する予定はありますか?
  • クエリ結果にmap-reduceを実行するための回避策がありますか?
+0

集約パイプラインを使用していますか? –

+0

私は(ビューの作成のために)私は信じています。私は$ match演算子を使います。これはあなたが意味することですか? –

+1

マップとリダクションの両方を集約パイプラインで利用できます。https://docs.mongodb.com/manual/reference/operator/aggregation/reduce/ https://docs.mongodb.com/manual/reference/operator/aggregation/ map/ –

答えて

0

ビューは、ビューを定義するときに指定した集約パイプラインを実行するため、MongoDBのビューはマテリアライズされません。つまり、アグリゲーションパイプライン経由でビュー上でさらにアグリゲーションを実行できますが、実行の一環としてアグリゲーションステージを実行できないmap/reduceを使用することはできません。

MongoDBのmap/reduceでできることは、集約パイプラインで行うことができます(確かにすべてではありませんが)。 map-reduceではなく、純粋に集約を使用してどれくらいの距離を得ることができるかを確認することをお勧めします。

関連する問題