对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

筛选图表结果

过滤器显示与给定条件匹配的一部分结果。Atlas Charts 提供两种方法以过滤单个图表的数据。您可以使用:

  • 过滤器选项卡”的数字、字符串、日期或布尔字段可处理大部分数据过滤需求。

  • 查询栏可使用更复杂的查询(例如逻辑运算符查询)筛选数据,或使用聚合管道处理原始数据。

要了解如何在仪表盘上的多个图表中筛选结果,请参阅按字段值筛选仪表盘

图表生成器包含一个筛选器选项卡,您可以在其中拖放字段来指定 数据筛选器。使用筛选器选项卡筛选数据:

  1. 单击图表生成器中的中心标签页:

    显示如何访问筛选标签页的图片
  2. 从左侧的 Fields 拖动字段到标签页的 Chart Filters 部分。

所选字段的数据类型决定了可用的过滤器选项。选择字段类型和日期过滤器类型(如适用),以查看可用的过滤器选项。

注意

不能在多个筛选器中使用同一字段。

您可以启用或禁用 Filter(筛选器)标签页中的筛选器。已禁用的筛选器不会影响图表中显示的文档。已禁用的筛选器显示为灰色,在启用它们之前无法对其进行编辑。

如需切换是否启用筛选器,请将鼠标悬停在筛选器上, 然后将出现在筛选器顶部的切换按钮设置为所需设置。

显示筛选切换的图片
点击放大

您可以通过单击图表筛选器卡上的 Show(显示)或 Hide(隐藏)来展开或折叠该卡。

禁用的筛选器会自动折叠。

启用的折叠筛选器仍会应用于图表。

图表显示上方的Query栏支持比过滤面板更复杂的查询。 此外,您可以使用查询栏创建聚合管道,以便在呈现数据之前对其进行进程。

要使用 Query 栏筛选数据:

  1. Query 栏中输入过滤器文档。使用与 db.collection.find() 方法的查询部分中使用的语法相同的语法。过滤文档必须放在大括号中。

  2. 单击 Apply(连接)。

以下示例展示了如何使用不同的操作符构建查询。展开示例以查看查询。

使用 $or 逻辑操作符匹配至少一个子句为 true 的文档。

以下图表显示了拍摄过纪录片传记片的导演数量最多的 5 个国家/地区(X Axis 下的 Limit Results 已启用且设置为 5)。

逻辑操作符查询示例
点击放大

该图表使用了以下查询:

{
$or: [
{
genres: "Documentary"
},
{
genres: "Biography"
} ]
}

genres 是一个数组,其中每个元素都是一个电影类型。该筛选器确保只有拍摄过纪录片或传记片的 导演才会被纳入特定国家/地区的导演总数中。

使用 $exists查询运算符符将文档与存在的元素进行匹配。

下图表显示了按5年周期分箱的一段时间内电影的平均 Metacritic 评分。

查询比较示例
点击放大

该图表使用了以下查询:

{ 'writers.1': { $exists: true }}

writers 是一个大量,其中每个元素都是为电影做出贡献的作者。 此过滤通过检查第二个大量元素是否存在,确保只有具有至少两个编写器的文档才会计入平均值Metacritic 评级。

使用 $regex查询运算符将文档与正则表达式进行匹配。

使用$regex查询运算符使用正则表达式进行过滤:

{ <field>: { $regex: "pattern", $options: "<options>" } }

示例,要查找jobs字段以字母A开头的所有文档,您应在Query栏中写入以下内容:

{ "jobs" : { $regex : "^A" } }

要查找jobs字段以字母Aa开头的所有文档,您应在Query栏中写入以下内容:

{ "jobs" : { $regex : "^A", $options : "i" } }

使用日期字段将文档与特定日期匹配。

下图表显示了一家办公用品公司的总销售额,按购买方式分类:

日期查询示例
点击放大

该图表使用了以下查询:

{
$and: [
{
saleDate: { $gte: new Date("2017-01-01") }
},
{
'items.4': { $exists: true }
} ]
}

集合中的每个文档都代表一次销售。 items是一个大量,其中每个元素都是促销期间购买的商品。

此查询将显示的文档限制为saleDate等于或晚于January 1, 2017items大量中至少有5元素的文档。

如果查询无效,Charts 会在 Query(查询)栏中显示 图标。

如果尚未显示 Query(查询)栏,请单击此栏以查看错误详细信息。Charts 显示以下错误的详细信息:

  • 客户端错误,例如格式错误的 JSON,以及

  • 无效 MQL 等服务器端错误。

筛选错误示例
点击放大

查看错误详情,然后相应调整查询。

  • Atlas Charts查询栏中使用的日期函数与 mongosh 中使用的日期函数一致且兼容。因此,您可以使用:

    • new Date(),

    • ISODate(),或

    • new ISODate().

    Date() 函数(与 new Date() 构造函数不同)以字符串形式返回当前日期,因此不能用于在 Charts 中查询日期。