文档

关于 SequoiaDB

快速入门

快速入门之一键清理

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

SequoiaDB Shell方法

操作符

SQL语法

SQL to SequoiaDB 映射表

限制

错误码

故障排除

SAC 管控中心

Web服务

版本信息

$inc

语法

{ $inc: { <字段名1>: <值1>, <字段名2>: <值2>, ... } }

描述

$inc操作是给指定“<字段名>”增加指定的“<值>”。如果原记录中没有指定的字段名,那将字段名和值填充到记录中;如果原记录中存在指定的字段名,那么将字段名的值加上指定的值。

其中“<值>”支持以下两种格式:

  • 数值类型,如下例:

    { $inc: { age: 1 } }
  • 对象类型,支持扩展功能,如下例:

    { $inc: { age: { Value: 1, Default:1, Min: 1, Max: 150} } }

    扩展功能说明:

    字段名 功能 是否必填 说明
    Value 指定需要增加的值 只能为数值类型
    Default 当需要做inc操作的字段不存在时,取该值作为该字段的值 可以为数值类型或null,不填时默认值为 0;指定为 null 时表示当字段不存在时不做操作。
    Min 指定inc操作之后结果的最小值 只能为数值类型
    Max 指定inc操作之后结果的最大值 只能为数值类型

示例

  • 选择集合bar下age字段值大于15的记录,然后更新这些记录,将age字段的值增加5、ID 的值添加1。

    > db.foo.bar.update({ $inc: { age: 5, ID: 1 } }, { age: { $gt: 15 } })
  • 选择集合bar中存在数组对象arr的记录,将数组对象arr的第二个元素值添加1。

    > db.foo.bar.update({ $inc: { "arr.1": 1 } }, { arr: { $exists: 1 } })
  • 将集合bar下age字段的值增加5,并限定增加后的结果必须在0-100之间。

    > db.foo.bar.update({ $inc: { age: { Value: 5, Min: 0, Max: 100 } } })
回到顶部