Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

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
タイプ
説明

view

string

作成するビューの名前。

source

string

ビューの作成元となるソース コレクションまたはビューの名前。この名前にはデータベース名は含まれず、作成するビューと同じデータベースを意味します。これは、コレクションまたはビューの完全な名前空間ではありません。ソース コレクションと同じデータベースにビューを作成する必要があります。

pipeline

配列

集計パイプラインステージ で構成される配列。 は、指定されたdb.createView() pipelinesource コレクションまたはビューに適用してビューを作成します。

ビュー定義pipelineには、$outまたは$mergeステージを含めることはできません。この制限は、$lookupステージまたは$facetステージで使用されるパイプラインなどの埋め込みパイプラインにも適用されます。

ビュー定義はパブリックです。つまり、ビューに対する db.getCollectionInfos() および explain操作には、ビューを定義するパイプラインが含まれます。そのため、ビュー定義で機密性の高いフィールドと値を直接参照することは避けてください。

collation

ドキュメント

任意: ビューのデフォルトの照合設定を指定します。

照合を指定すると、大文字・小文字やアクセント記号など、文字列を比較するための言語独自のルールを指定できます。

基になる source がコレクションの場合、ビューはコレクションの照合設定を継承しません。

照合方法が指定されていない場合、ビューのデフォルトの照合には「単純な」バイナリ比較照合子が使用されます。

基になる source が別のビューである場合、そのビューで同じ照合設定を指定する必要があります。

照合オプションの構文は次のとおりです。

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

照合を指定する場合、locale フィールドは必須ですが、その他の照合フィールドはすべて任意です。フィールドの説明については、照合ドキュメントを参照してください。

db.createView() メソッドは次の create コマンド操作をラップします。

db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )

重要

ビュー名はコレクション リスト出力に含まれます

db.getCollectionInfos()db.getCollectionNames() などのコレクションを一覧表示する操作では、出力にビューが含まれます。

ビュー定義はパブリックです。つまり、ビューに対する db.getCollectionInfos() および explain操作には、ビューを定義するパイプラインが含まれます。そのため、ビュー定義で機密性の高いフィールドと値を直接参照することは避けてください。

ビューの作成例については、次のページを参照してください。

ビューの動作の詳細を確認するには、「動作」を参照してください。

戻る

db.createCollection