文档菜单
文档首页
/
从指南开始

使用组合运算符进行查询

在本指南中,您将学习如何通过使用聚合管道在复合查询中同时使用多个搜索运算符。

所需时间5分钟

  • 一个MongoDB账户。请参阅注册MongoDB账户.

  • 一个Atlas集群。请参阅 创建集群。

  • 样本数据集已加载到您的集群中。加载样本数据。

  • 具有默认设置和动态索引的搜索索引。要创建默认动态索引,请参阅 构建动态索引。

1
  1. 如果尚未显示,请从导航栏中的 组织菜单中选择包含您所需项目的组织。

  2. 如果尚未显示,请从导航栏中的项目菜单中选择您所需的项目。

  3. 如果尚未显示,请点击侧边栏中的集群

    显示集群页面。

2
sample-data-cluster
点击放大
3

点击集合选项卡。

sample-data-tab
点击放大
4

点击sample_supplies数据库,然后点击sales集合。

5
1

点击聚合选项卡。

2

点击+ 添加阶段开始创建您的聚合管道。

3

在阶段窗口中,点击标有 选择 的下拉菜单,并选择 $search 阶段。

4

将占位符代码替换为以下查询。

{
"compound": {
"filter": [{
"text": {
"query": "Online",
"path": "purchaseMethod"
}
}],
"should": [{
"text": {
"query": "notepad",
"path": "items"
}
}]
}
}

此查询使用具有以下内容的 compound 操作符。

  • 使用 filter 子句仅返回具有 purchaseMethodOnline 的文档。

  • 使用 should 子句返回具有包含 notepaditems 字段的文档,其评分高于不包含的文档。

5

在右侧面板中,您的结果应包括类似于以下样本文档的文档列表

items: Array
0: Object
1: Object
2: Object
name: "notepad"
...
storeLocation: "Denver"
customer: Object
couponUsed: false
purchaseMethod: "Online"
_id: ObjectID('5bd761dcae323e45a93cd06e')
saleDate: 2013-11-22T18:49:45.212+00:00

注意

返回的每个文档中字段不一定按相同顺序出现。

您可以通过单击它们来展开 ArrayObject 字段以查看其内容。

如果您成功完成了本指南中的程序,您已创建了一个使用复合操作符的 Atlas Search 聚合阶段,并了解了操作符中的不同子句如何相互作用来聚焦您的搜索结果。在下一指南中,您将学习如何使用分面分组搜索结果。

下一步
使用分面进行查询
10分钟

在 MongoDB 中检索具有特定值计数的文档。

入门指南
章节3
Atlas Search
  • 构建动态索引
  • 使用静态字段映射构建索引
  • 使用组合运算符进行查询
  • 使用分面进行查询