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

db.createView()

項目一覧

  • 構文
  • 動作
db.createView()

注意

曖昧さ回避

このページでは標準ビューについて説明します。オンデマンドのマテリアライズドビューについて詳しくは、「オンデマンドのマテリアライズドビュー」を参照してください。

ビュー タイプの違いを理解するには、「オンデマンドのマテリアライズドビューとの比較」を参照してください。

指定された集計パイプラインをソース コレクションまたはビューに適用して、ビューを作成します。ビューは読み取り専用のコレクションとして機能し、読み取り操作中にオンデマンドで計算されます。ソース コレクションと同じデータベースにビューを作成する必要があります。MongoDB では、基礎となる集計パイプラインの一部としてビューに対して読み取り操作が実行されます。

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

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

項目一覧