文档中心

update

用于修改集合中的记录。

语法

update <cs_name>.<cl_name> set (<field1_name>=<value1>,...) [where <condition>] [/*+<hint1> <hint2> ...*/]

参数

参数名 参数类型 描述 是否必填
cs_name string 集合空间名。
cl_name string 集合空间名。
field1_name string 字段名。
value1 string 字段值。
condition expression 条件,只对符合条件的记录更新。
hint1 hint 指定执行方式。

返回值

无。

示例

  • 集合 sample.employee 中原始记录。

    { age: 1 }
    { age: 2 }
  • 修改集合中全部的记录,将记录中的 age 字段值修改为20。

    > db.execUpdate( "update sample.employee set age=20" )
    Takes 0.1511s.
  • 修改符合条件的记录,只对符合条件 age < 25 的记录做修改操作。

    > db.execUpdate( "update sample.employee set age=30 where age < 25" )
    Takes 0.3023s.
  • 指定更新时保留分区键。切分表sample.employee落在两个分区组上,分区键为 { b: 1 }

    > db.execUpdate( "update sample.employee set b = 1 where age < 25 /*+use_flag(SQL_UPDATE_KEEP_SHARDINGKEY)*/" )
    (nofile):0 uncaught exception: -178
    Sharding key cannot be updated
    Takes 0.002696s.
回到顶部