• update
    • 语法
    • 参数
    • 返回值
    • 示例

    update

    用于修改集合中的记录。

    语法

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

    参数

    参数名参数类型描述是否必填
    cs_namestring集合空间名。
    cl_namestring集合空间名。
    field1_namestring字段名。
    value1string字段值。
    conditionexpression条件,只对符合条件的记录更新。
    hint1hint指定执行方式。

    返回值

    无。

    示例

    • 集合 foo.bar 中原始记录。
    1. { age: 1 }
    2. { age: 2 }
    • 修改集合中全部的记录,将记录中的 age 字段值修改为20。
    1. > db.execUpdate( "update foo.bar set age=20" )
    2. Takes 0.1511s.
    • 修改符合条件的记录,只对符合条件 age < 25 的记录做修改操作。
    1. > db.execUpdate( "update foo.bar set age=30 where age < 25" )
    2. Takes 0.3023s.
    • 指定更新时保留分区键。切分表foo.bar落在两个分区组上,分区键为 { b: 1 }
    1. > db.execUpdate( "update foo.bar set b = 1 where age < 25 /*+use_flag(SQL_UPDATE_KEEP_SHARDINGKEY)*/" )
    2. (nofile):0 uncaught exception: -178
    3. Sharding key cannot be updated
    4. Takes 0.002696s.