MongoDB聚合运算符:$add

$add运算符将将数字相加或将数字和日期相加。如果参数之一是日期,则
$add会将其他参数视为毫秒,并添加到日期中。

语法

{
    $add: [ <expression1>, <expression2>, ... ] }

参数可以是任何有效的表达式,只要能否解析为数值或日期即可。

从 MongoDB 6.1 开始,可以优化$add操作,为提高性能,可在参数列表末尾分组引用。例如:

$add: [ 1, 2, 3, '$a', '$b', '$c' ]

举例

示例使用sales集合:

{
    "_id" : 1, "item" : "abc", "price" : 10, "fee" : 2, date: ISODate("2014-03-01T08:00:00Z") }
{
    "_id" : 2, "item" : "jkl", "price" : 20, "fee" : 1, date: ISODate("2014-03-01T09:00:00Z") }
{
    "_id" : 3, "item" : "xyz", "price" : 5,  "fee" : 0, date: ISODate("2014-03-15T09:00:00Z") }

增加成员

下面的聚合使用$add表达式来计算总成本:

db.sales.aggregate(
   [
     {
    $project: {
    item: 1, total: {
    $add: [ "$price", "$fee" ] } } }
   ]
)

在日期上执行加法

下面的聚合使用$add 表达式计算billing_date,方法是为date字段中添加 3*24*60*60000 毫秒(即3天):

db.sales.aggregate(
   [
     {
    $project: {
    item: 1, billing_date: {
    $add: [ "$date", 3*24*60*60000 ] } } }
   ]
)

操作返回下面的结果:

{
    "_id" : 1, "item" : "abc", "billing_date" : ISODate("2014-03-04T08:00:00Z") }
{
    "_id" : 2, "item" : "jkl", "billing_date" : ISODate("2014-03-04T09:00:00Z") }
{
    "_id" : 3, "item" : "xyz", "billing_date" : ISODate("2014-03-18T09:00:00Z") }

相关推荐

  1. MongoDB聚合运算符:$add

    2024-02-18 14:18:01       34 阅读
  2. MongoDB聚合运算符:$arrayToObject

    2024-02-18 14:18:01       26 阅读
  3. MongoDB聚合运算符;$dateToParts

    2024-02-18 14:18:01       26 阅读
  4. MongoDB聚合运算符:$dayOfWeek

    2024-02-18 14:18:01       28 阅读
  5. MongoDB聚合运算符:$dayOfMonth

    2024-02-18 14:18:01       28 阅读
  6. MongoDB聚合运算符;$dateToString

    2024-02-18 14:18:01       23 阅读
  7. MongoDB聚合运算符:$dayOfYear

    2024-02-18 14:18:01       23 阅读
  8. MongoDB聚合运算符:$denseRank

    2024-02-18 14:18:01       17 阅读
  9. MongoDB聚合运算符:$dateTrunc

    2024-02-18 14:18:01       25 阅读
  10. MongoDB聚合运算符:$divide

    2024-02-18 14:18:01       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-18 14:18:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-18 14:18:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-18 14:18:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-18 14:18:01       20 阅读

热门阅读

  1. OJ 蚂蚁花呗问题

    2024-02-18 14:18:01       28 阅读
  2. 物业第三方满意度调查如何执行

    2024-02-18 14:18:01       29 阅读
  3. Android studio:错误: 需要常量表达式

    2024-02-18 14:18:01       36 阅读
  4. 二.自定义头文件

    2024-02-18 14:18:01       26 阅读
  5. 【C语言】pq->rear->next = pnew与pq->rear = pnew

    2024-02-18 14:18:01       29 阅读
  6. Vite之对CSS的处理方式及使用

    2024-02-18 14:18:01       32 阅读
  7. Spring Boot注入PasswordEncoder失败

    2024-02-18 14:18:01       32 阅读
  8. 【nginx实践连载-2】多应用安装部署

    2024-02-18 14:18:01       29 阅读
  9. Texas Instruments 在 GitHub 的官方主页

    2024-02-18 14:18:01       36 阅读
  10. 第1章 计算机网络体系结构-1.1计算机网络概述

    2024-02-18 14:18:01       27 阅读