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

使用分面进行查询

在本指南中,您将学习如何使用分面收集器进行查询以分组查询结果,并为这些组返回计数。

所需时间10分钟

  • 一个MongoDB账户。参见注册MongoDB账户.

  • 一个Atlas集群。参见创建集群。

  • 示例数据集 已加载到你的集群中。

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

  2. 如果页面尚未显示,请从导航栏中的项目菜单中选择你的项目。

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

    将显示集群页面。

2
sample-data-cluster
点击放大
3
1
  1. 点击集群的名称。

  2. 点击 Atlas Search 选项卡。

    Atlas Search 页面显示。

2

点击 创建索引

3

选择 视觉编辑器 配置方法,然后点击 下一步

4
5

对于 数据库和集合,选择 sample_supplies 数据库和 sales 集合。然后,点击 下一步

6

点击 优化索引。在 索引配置 窗格中,关闭 动态映射

7

字段映射 窗格中,点击 添加字段映射。在模态窗口中,从 字段名称 下拉菜单中选择 purchaseMethod

8

数据类型 下拉菜单中选择 String。在模态窗口底部点击 添加。保持 索引配置 值不变,在模态窗口底部点击 添加

9

字段映射 窗格中,点击 添加字段映射。在模态窗口中,从 字段名称 下拉菜单中选择 storeLocation

10

数据类型 下拉菜单中选择 StringFacet。在模态窗口底部点击 添加

4
1

点击 聚合 选项卡。

2

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

3

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

4

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

{
"facet": {
"operator": {
"text": {
"query": ["In store"],
"path": "purchaseMethod"
}
},
"facets": {
"locationFacet": {
"type": "string",
"path": "storeLocation",
}
}
}
}

此查询使用 facet 收集器以及

  • text 操作符来计算具有 purchaseMethod 值为 In store 的文档。

  • 名为 locationFacet 的分面,为每个不同的 storeLocation 值创建一个存储桶。

5

您的结果应类似于以下示例文档,部分展开显示

count: Object
lowerBound: 2819
facet: Object
locationFacet: Object
buckets: Array
0: Object
id: "Denver"
count: 864
1: Object
id: "Seattle"
count: 648
2: Object
3: Object
4: Object
5: Object

您可以通过点击来展开 ArrayObject 字段,以查看它们的内部内容。

如果您已成功完成本指南中的过程,您已创建了一个具有分面的 Atlas Search 索引,并创建了一个利用分面来组织匹配记录的聚合管道,以提高可见性。

下一步是什么
成为 MongoDB 专业人员

恭喜。您已完成所有指南。想要迈出下一步吗?注册开发者考试。

了解更多
章节3
Atlas Search
  • 构建动态索引
  • 使用静态字段映射构建索引
  • 使用复合运算符进行查询
  • 使用分面进行查询