db.createView()
db.createView()
注意
曖昧さ回避
このページでは標準ビューについて説明します。オンデマンドのマテリアライズドビューについて詳しくは、「オンデマンドのマテリアライズドビュー」を参照してください。
ビュー タイプの違いを理解するには、「オンデマンドのマテリアライズドビューとの比較」を参照してください。
指定された集計パイプラインをソース コレクションまたはビューに適用して、ビューを作成します。ビューは読み取り専用のコレクションとして機能し、読み取り操作中にオンデマンドで計算されます。ソース コレクションと同じデータベースにビューを作成する必要があります。MongoDB では、基礎となる集計パイプラインの一部としてビューに対して読み取り操作が実行されます。
ビュー定義
pipeline
には、$out
または$merge
ステージを含めることはできません。この制限は、$lookup
ステージまたは$facet
ステージで使用されるパイプラインなどの埋め込みパイプラインにも適用されます。
構文
db.createView()
の構文は次のとおりです。
db.createView(<view>, <source>, <pipeline>, <collation>)
メソッドは次のパラメーターを受け入れます:
Parameter | タイプ | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
view | string | 作成するビューの名前。 | ||||||||||
source | string | ビューの作成元となるソース コレクションまたはビューの名前。この名前にはデータベース名は含まれず、作成するビューと同じデータベースを意味します。これは、コレクションまたはビューの完全な名前空間ではありません。ソース コレクションと同じデータベースにビューを作成する必要があります。 | ||||||||||
pipeline | 配列 | 集計パイプライン ステージで構成される配列。 ビュー定義 ビュー定義はパブリックです。つまり、ビューに対する | ||||||||||
collation | ドキュメント | 任意: ビューのデフォルトの照合設定を指定します。 照合を指定すると、大文字・小文字やアクセント記号など、文字列を比較するための言語独自のルールを指定できます。 基になる 照合方法が指定されていない場合、ビューのデフォルトの照合には「単純な」バイナリ比較照合子が使用されます。 基になる 照合オプションの構文は次のとおりです。
照合を指定する場合、 |
db.createView()
メソッドは次のcreate
コマンド操作をラップします。
db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )
重要
ビュー名はコレクション リスト出力に含まれます
db.getCollectionInfos()
や db.getCollectionNames()
などのコレクションを一覧表示する操作では、出力にビューが含まれます。
ビュー定義はパブリックです。つまり、ビューに対する db.getCollectionInfos()
および explain
操作には、ビューを定義するパイプラインが含まれます。そのため、ビュー定義で機密性の高いフィールドと値を直接参照することは避けてください。
例
ビューの作成例については、次のページを参照してください。
動作
ビューの動作の詳細を確認するには、「動作」を参照してください。