$searchMeta
$searchMeta
阶段返回不同类型的元数据结果文档。
注意
如要对分片集合运行 $searchMeta
查询,您的集群必须运行 MongoDB v6.0 或更高版本。
语法
$searchMeta
管道阶段采用以下原型形式:
{ $searchMeta: { "index": "<index-name>", "<collector-name>"|"<operator-name>": { <collector-specification>|<operator-specification> }, "count": { <count-options> } } }
字段
$searchMeta
阶段采用包含以下字段的文档:
字段 | 类型 | 必要性 | 说明 |
---|---|---|---|
<collector-name> | 对象 | 可选的 | |
count | 对象 | Optional | 文件,用于指定检索结果计数的计数选项。 要了解更多信息,请参阅 Count Atlas 搜索结果。 |
index | 字符串 | Optional | 要使用的 Atlas Search 索引的名称。如果省略,则默认值为 如果您写错索引名称,或者指定的索引在集群上尚不存在,则 Atlas Search 不会返回结果。 |
<operator-name> | 对象 | 可选的 |
行为
$searchMeta
阶段必须是任何管道中的第一阶段。
元数据结果类型
$searchMeta
阶段返回的元数据结果文档的结构因结果类型而异。Atlas Search 支持以下结果类型:
例子
假设 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") } } ]
故障排除
如果 Atlas Search $search
查询遇到问题,请参阅排除 Atlas Search 错误。