使用分面进行查询
Overview
在本指南中,您将学习如何使用分面收集器运行查询,对查询结果进行分组,并返回每个组的计数。
所需的时间:10 分钟
您需要的工具
一个MongoDB帐户。 请参阅注册MongoDB帐户。
Atlas 集群。请参阅创建群集。
加载到集群中的示例数据集。
步骤
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(集群)。
会显示集群页面。
创建带分面的Atlas Search索引。
Go集群的Atlas Search 页面。
单击集群的名称。
单击 Atlas Search 标签页。
将显示 Atlas Search 页面。
单击 Create Index(连接)。
选择Visual Editor配置方法,然后单击Next 。
对于Database and Collection ,选择sample_supplies
数据库和sales
集合。 然后,单击Next 。
单击Refine Your Index 。 在Index Configuration窗格中,关闭Dynamic Mapping 。
在Field Mappings窗格中,单击Add Field Mapping 。 在模态窗口中,从Field Name下拉菜单中选择purchaseMethod
。
从Data Type下拉菜单中选择String
。 单击模式窗口底部的Add 。 保持Index Configurations值不变,然后单击模式窗口底部的Add 。
在Field Mappings窗格中,单击Add Field Mapping 。 在模态窗口中,从Field Name下拉菜单中选择storeLocation
。
从Data Type下拉列表中选择StringFacet
。 单击模式窗口底部的Add 。
使用聚合管道对索引运行分面查询。
单击 Aggregation 标签页。
单击+ Add Stage开始创建聚合管道。
在阶段窗口中,单击标有Select...的下拉菜单并选择$searchMeta阶段。
将占位符代码替换为以下查询。
{ "facet": { "operator": { "text": { "query": ["In store"], "path": "purchaseMethod" } }, "facets": { "locationFacet": { "type": "string", "path": "storeLocation", } } } }
此查询将facet
收集器与以下方式结合使用:
text
操作符仅对purchaseMethod
值为In store
的文档进行计数。名为
locationFacet
的分面,用于为每个不同的storeLocation
值创建一个存储桶。
总结
如果您成功完成了本指南中的步骤,那么您就已经创建了带有分面的 Atlas Search 索引,并创建了一个聚合管道,该管道利用分面将匹配记录组织到类别中,以提高可见性。
恭喜。 您已完成所有指南。 想要执行下一步? 报名参加开发者考试。