10.1.2 值表达式字符串

值表达式字符串用于计算一个值,然后可以将其赋给给定的字段或列。这对于 modify()update() 以及在插入时计算文档中的值都是必需的。

值表达式字符串的一个用例是递增计数器。expr() 函数用于包装字符串,否则这些字符串将被解释为字面量。例如,要递增计数器

// the expression is evaluated on the server
collection.modify('true').set("counter", expr("counter + 1")).execute()

如果不使用 expr() 包装字符串,则会将字面字符串“counter + 1”赋给“counter”成员

// equivalent to directly assigning a string: counter = "counter + 1"
collection.modify('true').set("counter", "counter + 1").execute()