AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

$searchMeta

$searchMeta

The $searchMeta stage returns different types of metadata result documents.

注意

To run $searchMeta queries over sharded collections, your cluster must run MongoDB v6.0 or later.

$searchMeta ステージは次の環境で利用できます。

$searchMetaパイプライン ステージには次のプロトタイプ形式があります。

{
$searchMeta: {
"index": "<index-name>",
"<collector-name>"|"<operator-name>": {
<collector-specification>|<operator-specification>
},
"concurrent": true | false,
"count": {
<count-options>
},
"returnScope": {
"path": "<embedded-documents-field-to-retrieve>"
}
"returnStoredSource": true | false
}
}

$searchMetaステージは、次のフィールドを持つドキュメントを取得します。

フィールド
タイプ
必要性
説明

<collector-name>

オブジェクト

条件付き

クエリで使用するコレクターの名前。このフィールドの値として、コレクター固有のオプションを含むドキュメントを提供できます。定義されたファセット名と、そのファセットのバケットの配列とのマッピングを取得するには、値が facet である必要があります。詳しくは、facet(MongoDB Search 演算子)を参照してください。これを指定するか、<operator-name> を指定する必要があります。

concurrent

ブール値

任意

専用検索ノードで複数のセグメントにまたがる検索を並列化します。クラスターに個別の検索ノードがない場合、 MongoDB Search はこのフラグを無視します。省略した場合、デフォルトは false になります。詳細については、「セグメント間でのクエリ実行の並列化」を参照してください。

count

オブジェクト

任意

結果のカウントを取得するためのカウント オプションを指定するドキュメント。詳しくは、「 MongoDB検索結果のカウント 」を参照してください。

index

string

任意

使用するMongoDB Searchインデックスの名前。省略した場合、デフォルトは default になります。

MongoDB Search では、インデックス名のスペルをうっかり間違えた場合、または指定されたインデックスがクラスターにまだ存在しない場合は結果が返されません。

<operator-name>

オブジェクト

条件付き

Name of the operator to search with. You can provide a document that contains the operator-specific options as the value for this field. You must specify this or <collector-name>. $searchMeta returns the default count metadata only.

returnScope

オブジェクト

任意

指定された埋め込みドキュメントフィールドにクエリのコンテキストを設定するオブジェクト。クラスターの MongoDB バージョンが 8.2 未満の場合、returnStoredSource を指定し、true に設定する必要があります。

returnStoredSource

ブール値

条件付き

バックエンドデータベースでドキュメント全体を検索するか、保存されたソースフィールドのみを MongoDB Search から直接返すかを指定するフラグです。省略された場合、デフォルトは false となります。returnScopeと指定し、クラスターの MongoDB バージョンが8.2未満である場合は、 trueにする必要があります。

詳細を学ぶには、「保存されたソースフィールドを返す」を参照してください。

The $searchMeta stage must be the first stage in any pipeline.

The structure of the metadata results document that is returned by the $searchMeta stage varies based on the type of results. MongoDB Search supports the following result types:

タイプ
結果構造

count

結果に含まれるカウント結果は、結果として返されるカウントが検索結果の合計数であるか、下限値であるかを示します。 詳細については、「結果のカウント 」を参照してください。

facet

ファセット クエリの結果は、定義されたファセット名を、そのファセットのバケットの配列にマッピングしたものです。 詳細については、「ファセット結果 」を参照してください。

sample_mflix.moviesコレクションに次のインデックスがあるとします。

{
"mappings": {
"dynamic": false,
"fields": {
"year": {
"type": "number"
}
}
}
}

The following query searches for the number of movies released in 1998 using the $searchMeta stage.

db.movies.aggregate([
{
"$searchMeta": {
"range": {
"path": "year",
"gte": 1998,
"lt": 1999
},
"count": {
"type": "total"
}
}
}
])
[ { count: { total: Long("552") } } ]

MongoDB Search クエリで問題が発生している場合は、「$search クエリのトラブルシューティング 」を参照してください。