Docs 主页 → 启动和管理 MongoDB → MongoDB Atlas
queryString
定义
语法
queryString
通过以下语法实现:
1 { 2 "$search": { 3 "index": <index name>, // optional, defaults to "default" 4 "queryString": { 5 "defaultPath": "<default-field-to-search>", 6 "query": "(<field-to-search>: (<search-values>) AND|OR (<search-values>)) AND|OR (<search-values>)" 7 } 8 } 9 }
选项
queryString
使用以下词条来构造查询:
字段 | 类型 | 说明 | 必要性 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
defaultPath | 字符串 | 默认搜索的索引字段。如果您没有在 query 中提供要搜索的字段,则 Atlas Search 仅搜索 defaultPath 中的字段。 | 是 | ||||||||||||||||||||||||
query | 字符串 | 要搜索的一个或多个索引字段和值。字段和值以冒号分隔。例如,要在 您可以使用以下方法组合字段和值:
提示另请参阅:使用操作符和分隔符搜索示例 您可以使用以下符号运行通配符和正则表达式查询:
注意
| 是 | ||||||||||||||||||||||||
score | 对象 | 分配给匹配搜索词结果的分数。您可以使用以下选项修改默认分数:
有关在查询中使用 注意当您查询数组中的值时,Atlas Search 不会根据与查询匹配的数组内的值数量更改匹配结果的分数。无论数组内有多少个匹配项,分数都将与单个匹配项相同。 | 否 |
举例
以下示例使用 sample_mflix
数据库中的 movies
集合。如果集群上有样本数据集,则可以使用动态映射创建名为 default
的 Atlas Search 索引,并在集群上运行示例查询。
布尔操作符查询
基本示例
高级示例
以下示例使用 queryString
操作符查询包含词语 captain
、kirk
和 chess
的电影情节。此示例展示了如何使用括号对相同的搜索词进行不同的分组,从而导致不同的文档被包含在搜索结果中。
例子
以下查询在 plot
字段中搜索词 captain
、kirk
和 chess
的组合。根据搜索词的分组方式,每次查询都会返回不同的结果。
查询还包括一个$project
阶段,用于:
排除
title
、plot
和fullpath
以外的所有字段添加字段
score
范围查询
通配符查询
以下示例使用queryString
操作符通过模糊、通配符和正则表达式查询电影标题。查询包括$project
阶段,用于排除title
以外的所有字段。