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