Docs Menu
Docs Home
/ /

$searchMeta

$searchMeta

$searchMetaステージでは、さまざまなタイプのメタデータ結果ドキュメントが返されます。

注意

シャーディングされたコレクションに対して$searchMetaクエリを実行するには、クラスターで MongoDB v 6.0以降を実行する必要があります。

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

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

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

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

<collector-name>

オブジェクト

条件付き

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

count

オブジェクト

任意

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

index

string

任意

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

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

<operator-name>

オブジェクト

条件付き

検索する演算子の名前。このフィールドの値として、演算子固有のオプションを含むドキュメントを提供できます。 これを指定するか、<collector-name> を指定する必要があります。 $searchMetaはデフォルトのcount メタデータのみを返します。

returnScope

オブジェクト

任意

Object that sets the context of the query to the specified embedded document field. You must also specify returnStoredSource and set it to true if your cluster MongoDB version is less than 8.2.

returnStoredSource

ブール値

条件付き

Flag that specifies whether to perform a full document lookup on the backend database or return only stored source fields directly from MongoDB Search. If omitted, defaults to false. Must be true to if you specify returnScope and your cluster MongoDB version is less than 8.2.

To learn more, see Return Stored Source Fields.

$searchMetaステージは、すべてのパイプラインの最初のステージである必要があります。

$searchMeta ステージによって返されるメタデータ結果ドキュメントの構造は、結果のタイプによって異なります。MongoDB Search は次の結果の型をサポートしています。

タイプ
結果構造

count

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

facet

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

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

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

次のクエリは、 $searchMetaステージを使用して、 1998で公開された映画の数を検索します。

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

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

戻る

ドキュメント: $search

項目一覧