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

用$sum实现Mongodb聚合查询
EN

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

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

以下是示例文档:

代码语言:javascript
代码运行次数:0
运行
复制
[
    {
    "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
运行
复制
db.getCollection('test').aggregate([{
  $match: {
    Status: "Y"
  }
}, {
$group: {
    _id: null,
    total: {
        $sum: "$sal"
    }
  }
}])

我的分数是零。

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

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 20: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

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档