Docs Menu
Docs Home
/
Atlas
/ / / /

$searchMeta

$searchMeta

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

注意

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

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

{
$searchMeta: {
"index": "<index-name>",
"<collector-name>"|"<operator-name>": {
<collector-specification>|<operator-specification>
},
"count": {
<count-options>
}
}
}

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

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

<collector-name>

オブジェクト

条件付き

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

count

オブジェクト

任意

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

index

string

任意

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

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

<operator-name>

オブジェクト

条件付き

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

$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

項目一覧