首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用$sum实现Mongodb聚合查询

用$sum实现Mongodb聚合查询
EN

Stack Overflow用户
提问于 2015-08-20 10:27:31
回答 1查看 7.7K关注 0票数 1

我有一个名为test的收藏。我希望获得test集合中存在的所有文档的一个键:sal的总量。

以下是示例文档:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
    {
    "name": "hari",
    "sal": "100",
    "status": "Y",
    "address": "Bangalore"
    },
    {
    "name": "Sam",
    "sal": "200",
    "status": "Y",
    "address": "Bangalore"
    },
    {
    "name": "Nik",
    "sal": "200",
    "status": "N",
    "address": "Bangalore"
    }
]

我尝试了以下查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db.getCollection('test').aggregate([{
  $match: {
    Status: "Y"
  }
}, {
$group: {
    _id: null,
    total: {
        $sum: "$sal"
    }
  }
}])

我的分数是零。

有没有人能给我推荐一个正确的查询,以便在集合中的所有文档中添加一个特定的键。

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 12:04:41

如示例文档中所述,

$sum只适用于整型、长整型和浮点型。现在,还没有将字符串解析为数字的运算符,尽管这将非常有用。您可以自己执行此操作,如Mongo中所述,转换存储为字符串Mongo convert all numeric fields that are stored as string的所有数值字段

您可以参考以下答案以了解更多详细信息:- MongoDB - Aggregate Sum

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32115762

复制
相关文章
mongodb联表查询_mongodb聚合查询
在使用MongoDB存储数据的时候,我们查询的时候,有时候难免会需要进行连表查询。但是MongoDB本身是非关系性数据库,连表查询,很多时候,需要我们自己在代码里手工操作。但是从 MongoDB 3.2 版本过后,我们可以使用 $lookup 进行连表查询。下面就简单介绍一下 MongoDB 的 $lookup 的简单使用。
全栈程序员站长
2022/10/05
3K0
MongoDB 高级查询 aggregate 聚合管道
db.COLLECTION_NAME.aggregate() 方法用来构建和使用聚合管道,下图是官网给的实例,可以看出来聚合管道的用法还是比较简单的。
越陌度阡
2020/11/26
2.1K0
MongoDB 高级查询 aggregate 聚合管道
MongoDB 中聚合统计计算 – $SUM表达式
我们一般通过表达式$sum来计算总和。因为MongoDB的文档有数组字段,所以可以简单的将计算总和分成两种:1,统计符合条件的所有文档的某个字段的总和;2,统计每个文档的数组字段里面的各个数据值的和。这两种情况都可以通过$sum表达式来完成。以上两种情况的聚合统计,分别对应与聚合框架中的 $group 操作步骤和 $project 操作步骤。
星哥玩云
2022/08/18
1.7K0
【mongoDB查询进阶】聚合管道(一) -- 初识
英文文档中是aggregation pipeline,直译为聚合管道,它可以对数据文档进行变换和组合。聚合管道是基于数据流概念,数据进入管道经过一个或多个stage,每个stage对数据进行操作(筛选,投射,分组,排序,限制或跳过)后输出最终结果。
莫问今朝
2019/02/25
1.2K0
数据库MongoDB-聚合查询
在MongoDB中我们可以通过aggregate()函数来完成一些聚合查询,aggregate()函数主要用于处理诸如统计,平均值,求和等,并返回计算后的数据结果。
cwl_java
2021/08/30
7.5K0
数据库MongoDB-聚合查询
数据库MongoDB-聚合查询
在MongoDB中我们可以通过aggregate()函数来完成一些聚合查询,aggregate()函数主要用于处理诸如统计,平均值,求和等,并返回计算后的数据结果。
cwl_java
2021/02/04
7.9K0
SQL聚合函数 SUM
SUM返回与expression相同的数据类型,但有如下异常:TINYINT、SMALLINT和INTEGER返回的数据类型都是INTEGER。
用户7741497
2022/03/27
1.4K0
在MongoDB中实现聚合函数
随着组织产生的数据爆炸性增长,从GB到TB,从TB到PB,传统的数据库已经无法通过垂直扩展来管理如此之大数据。传统方法存储和处理数据的成本将会随着数据量增长而显著增加。这使得很多组织都在寻找一种经济的解决方案,比如NoSQL数据库,它提供了所需的数据存储和处理能力、扩展性和成本效率。NoSQL数据库不使用SQL作为查询语言。这种数据库有多种不同的类型,比如文档结构存储、键值结构存储、图结构、对象数据库等等。 我们在本文中使用的NoSQL是MongoDB,它是一种开源的文档数据库系统,开发语言为C++。它提供
张善友
2018/01/22
3.7K0
MongoDB 聚合索引如何分析和优化查询性能
MongoDB 可以使用 explain() 方法来获取查询的执行计划,通过分析执行计划可以找到查询的瓶颈所在,以便进行优化。在执行 explain() 方法时,可以使用 executionStats 选项来获取详细的执行统计信息,例如查询的扫描次数、索引的使用情况等。
玖叁叁
2023/04/14
2.4K0
MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy
众所周知,MybatisPlus在处理单表DAO操作时非常的方便。在处理多表连接连接查询也有优雅的解决方案。今天分享MybatisPlus基于Lambda表达式优雅实现聚合分组查询。
赛先生和泰先生
2022/11/07
6.9K0
MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy
【mongoDB查询进阶】聚合管道(二) -- 阶段操作符
mongoDB有4类操作符用于文档的操作,例如find查询里面会用到的$gte,$in等。操作符以$开头,分为查询操作符,更新操作符,管道操作符,查询修饰符4大类。其中管道操作符是用于聚合管道中的操作符。
莫问今朝
2019/02/25
2.5K0
[767]MongoDB聚合运算
MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。
周小董
2020/02/29
1.8K0
MongoDB 聚合索引
MongoDB 聚合索引是一种包含多个字段的索引,它可以提高查询效率,特别是在需要对多个字段进行查询或者聚合操作时。以下是 MongoDB 官方文档中关于聚合索引的详细说明和示例:
玖叁叁
2023/04/14
7610
MongoDB聚合操作
MongoDB是一个非常强大的文档数据库,它提供了一系列聚合操作,可以方便地对文档进行分组、过滤、排序和统计等操作。在本文中,我们将介绍MongoDB的聚合操作,并提供一些示例代码来说明如何在MongoDB中使用它们。
玖叁叁
2023/04/13
1.4K0
【翻译】MongoDB指南/聚合——聚合管道
【原文地址】https://docs.mongodb.com/manual/ 聚合 聚合操作处理数据记录并返回计算后的结果。聚合操作将多个文档分组,并能对已分组的数据执行一系列操作而返回单一结果。MongoDB提供了三种执行聚合的方式:聚合管道,map-reduce方法和单一目的聚合操作。 聚合管道 MongoDB的聚合框架模型建立在数据处理管道这一概念的基础之上。文档进入多阶段管道中,管道将文档转换为聚合结果。最基本的管道阶段类似于查询过滤器和修改输出文档形式的文档转换器。 其他的管道为分组和排序提供一些
甜橙很酸
2018/03/08
4K0
【翻译】MongoDB指南/聚合——聚合管道
一日一技:MongoDB聚合查询匹配中文
MongoDB的聚合查询中,$substr只能匹配ASCII的数据,对于中文要使用$substrCP
青南
2018/10/18
1.1K0
MongoDB 聚合索引应用
我们可以使用聚合索引来对订单进行分组,按照客户ID和订单日期进行分组,并统计每个客户在每个月的订单数量和订单总金额。
玖叁叁
2023/04/14
6370
MongoDB聚合索引在实际开发中的应用场景-嵌套文档的聚合查询
MongoDB 支持嵌套文档,即一个文档中可以包含另一个文档作为其字段。在聚合查询中,可以通过 $unwind 操作将嵌套文档展开,从而进行更灵活的查询和统计。
玖叁叁
2023/04/14
3.5K0
MongoDB系列六(聚合).
 一、概念     使用聚合框架可以对集合中的文档进行变换和组合。基本上,可以用多个构件创建一个管道(pipeline),用于对一连串的文档进行处理。这些构件包括筛选(filtering)、投射(projecting)、分组(grouping)、排序(sorting)、限制(limiting)和跳过(skipping)。 二、聚合函数 db.driverLocation.aggregate( {"$match":{"areaCode":"350203"}}, {"$project":{"dr
JMCui
2018/04/23
4.9K0
MongoDB系列六(聚合).
SQL 聚合查询
这看上去是个幼稚的问题,但我们还是一步步思考一下。数据以行为粒度存储,最简单的 SQL 语句是 select * from test,拿到的是整个二维表明细,但仅做到这一点远远不够,出于以下两个目的,需要 SQL 提供聚合函数:
黄子毅
2022/03/15
2.4K0

相似问题

sum的MongoDB聚合查询

11

用$in实现mongodb聚合查询的Java代码

20

MongoDB聚合- $sum参数

14

用MongodB编写聚合查询

220

MongoDb sum查询

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文