You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MongoDB聚合操作中如何对嵌套文档进行筛选?

可以使用$match和$elemMatch操作符来筛选嵌套文档。

以下是一个示例集合:

{
    "_id" : 1,
    "name" : "John",
    "scores" : [
        {
            "type" : "exam",
            "score" : 80
        },
        {
            "type" : "quiz",
            "score" : 85
        },
        {
            "type" : "homework",
            "score" : 90
        }
    ]
},
{
    "_id" : 2,
    "name" : "Jane",
    "scores": [
        {
            "type" : "exam",
            "score" : 85
        },
        {
            "type" : "quiz",
            "score" : 90
        },
        {
            "type" : "homework",
            "score" : 95
        }
    ]
}

假设你想查找所有有homework成绩90分以上的学生,可以使用以下聚合管道:

db.students.aggregate([
    {
        $unwind: "$scores"
    },
    {
        $match: {
            "scores.type": "homework",
            "scores.score": {$gte: 90}
        }
    },
    {
        $group: {
            _id: "$_id",
            name: {$first: "$name"},
            homework_score: {$sum: "$scores.score"}
        }
    }
])

这里的$unwind操作符将scores数组展开成单独的文档,以便于筛选。接下来,$match操作符使用$elemMatch来查找嵌套的文档,找到type为homework且score大于等于90的文档。最后,$group操作符将结果按_id字段分组,显示每个学生姓名和homework成绩的总和。

执行上述代码得到以下结果:

{ "_id" : 1, "name" : "John", "homework_score"
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

集简云本周更新:新增应用百家号,MangoDB,PostgreSQL;更新应用企业微信,用友Yonsuite,抖音企业号等

WordPress+百家号:当WordPress网站有文章更新时,自动同步到百家号进行文章发布4. 数据库+百家号:当数据库有新增文章时,自动同步到百家号进行文章发布 **新增集成应用-MangoDB** MongoDB创建于2000年代,是面向文档的NoSQL数据库,用于大量数据存储。能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使...

2022技术盘点之平台云原生架构演进之道|社区征文

配合K8s原生服务注册发现/配置中心/分布式调度中心/日志/监控/告警/链路追踪/DevOps等构筑完整应用体系;- 数据层:存储使用有云硬盘/对象存储/CFS,数据库有MongoDB分片集群/MySQL/Redis/ElasticSearch/RabbitMQ进行... 在微服务架构中,API网关负责各类应用请求路由、API组合和协议转换,通过调用不同服务聚合聚合,同时有的API网关也负责验证,鉴权,负载均衡,协议转换,数据缓存等,框架网关如Netflix Zuul、Spring Cloud Gateway,云原生...

一口气看完43个关于 ElasticSearch 的使用建议

只关注聚合结果而不关注文档细节时`Size`设置为`0`利用分片查询缓存。**参考示例: ``` SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();` // 添加聚合查询 sourceBuilder.a... 高基数场景嵌套聚合查询建议使用 BFS 搜索。**聚合是在 ES 内存完成的。当一个聚合操作包含了嵌套聚合操作时,每个嵌套聚合操作都会使用上一级聚合操作中构建出的桶作为输入,然后根据自己的聚合条件再进行桶...

漫谈开源许可证:开发者需要知道的法理和事例

操作系统是一个开放的容器,它不能知道和限制其平台上运行的程序需要遵守的法律要求。因此操作系统也不应该受到运行在其上的应用程序的条款限制。 **Q:我是否可以用专有系统库连接一个 GPL 程序?(** **#System... 开源项目的负责人即使通过 CLA 从贡献者手中收集权利,也需要仔细权衡各种因素,包括商誉、口碑和法律风险等。MongoDB 是一个开源的文档型数据库,最初采用 AGPL 许可证。然而,为了更好地维护其商业利益,MongoDB 公...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

MongoDB聚合操作中如何对嵌套文档进行筛选? -优选内容

MongoDB 5.0 新特性概览
本文介绍 MongoDB 5.0 的主要新特性。 说明 关于 MongoDB 5.0 的更多特性,请参见 Release Notes for MongoDB 5.0。 原生支持时序数据MongoDB 5.0 原生支持时间序列数据,提供了时间序列集合、集群索引等能力,在提高... 允许您指定应用程序使用指定版本的 MongoDB API ,即使数据库频繁升级或改进,应用程序也可以在不修改代码的情况下持续运行。Stable API 支持 MongoDB 在每个 API 版本中为数据库添加新功能(如增加参数、持聚合运算符...
功能特性
所支持的多文档事务功能与官方 MongoDB 的多文档事务功能一致。更多详情,请参见 Transactions(4.0) 和 Transactions(5.0)。 文档数据库 MongoDB 版是否支持嵌套文档?支持。例如下述示例中的内容即为嵌套文档。 jav... 中添加重连机制的设计。 注意 在生产环境的应用程序请勿直接连接副本集中的主节点,推荐使用 MongoDB 控制台连接管理页签下的连接地址来连接。此时如果某个节点出现故障,不会因为节点的切换而影响应用的读写操作。 ...
常见问题概览
本文汇总了文档数据库 MongoDB 版的常见问题。 实例管理文档数据库 MongoDB 版和 MongoDB 有什么关系? 文档数据库 MongoDB 版提供何种实例规格 在同一账号的同一地域下,是否支持设置同名的实例? 最多支持创建多少个... 文档数据库 MongoDB 版是否支持 SRV 的连接方式? 功能特性文档数据库 MongoDB 版是否支持多文档事务功能? 文档数据库 MongoDB 版是否支持嵌套文档? 文档数据库 MongoDB 版如何处理节点故障? 实例磁盘使用率超过多...
同步至火山引擎版 MongoDB
本文介绍如何在数据库传输服务 DTS 控制台创建公网自建 MongoDB 同步至火山引擎版 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 已在公网环境中搭建文档... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

MongoDB聚合操作中如何对嵌套文档进行筛选? -相关内容

同步至火山引擎版 MongoDB

本文介绍如何在数据库传输服务 DTS 创建火山引擎版 MongoDB 同步至火山引擎版 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 创建同步任务前,请确认源库和... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

新功能发布记录

本文介绍文档数据库 MongoDB 版的产品功能动态和相关文档。 2024 年2024 年 04 月功能名称 功能描述 发布时间 发布地域 相关文档 支持批量修改自动备份策略 新增支持批量修改副本集实例的自动备份策略,您可以为有相... 减少多个实例需要设置相同参数时的重复操作。 2024-04-25 全部 批量修改实例参数 支持 oplogSizeMB 参数 新增支持 oplogSizeMB 参数,可用于设置当前实例或节点上用于记录 oplog 的空间大小。 2024-04-25 全部 参数...

同步至火山引擎版 MongoDB

本文介绍如何在数据库传输服务 DTS 控制台创建专有网络 MongoDB 同步火山引擎版 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 源端的数据库实例的接入方... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

同步至专有网络 MongoDB

本文介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 MongoDB 同步至专有网络 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 按需设置目标端信息,具体... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

同步至专有网络 MongoDB

本文介绍如何在数据库传输服务 DTS 控制台创建公网自建 MongoDB 同步至专有网络 MongoDB 任务。 前提条件已在公网环境中搭建文档数据库 MongoDB 版实例和账号。 源端的数据库实例的接入方式选择的是公网自建时,且... 详细操作,请参见配置专线连接。 已确认源端和目标端的网络连通性与服务可用性。 (可选)根据预检查项中的说明,检查源端和目标端中各同步对象。更多详情,请参见预检查项(MongoDB)。 注意事项若未选中增量同步,数...

同步至火山引擎 ECS 自建 MongoDB

本文介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 MongoDB 同步至火山引擎 ECS 自建 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 已在火山引擎 ... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

迁移至火山引擎版 MongoDB

本场景介绍如何在数据库传输服务 DTS 控制台创建专有网络 MongoDB 迁移至火山引擎版 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 按需设置源端信息,具体... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

同步至公网自建 MongoDB

本文介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 MongoDB 同步至公网自建 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 已在公网环境中搭建文档... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

迁移至火山引擎版 MongoDB

本场景介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 MongoDB 迁移至火山引擎版 MongoDB 任务。 前提条件已创建文档数据库 MongoDB 版实例和账号。详细操作,请参见创建实例和创建账号。 创建数据迁移任务之... 标签由一个键值对(Key-Value)组成,用于标识云资源,可以帮助您从不同维度(例如用途、所有者等)对具有相同特征的云资源进行分类,便于筛选聚合,从而轻松管理云上资源。关于标签的详细信息,请参见标签概述。标签的键...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询