某些字段可以有多个值。这些字段称为多值字段。例如,waveset.resources 字段可用于为一个用户分配多个资源。可以使用竖线 (|) 字符(也称为“管道”字符)分隔字段中的多个值。可以按如下方法指定多值的语法:
value0 | value1 [ | value2 ... ]
更新现有用户的多值字段时,您可能并不希望使用一个或多个新值替换当前字段值。您可能要删除一些值或添加一些值至当前值。可以使用字段指令指定如何处理现有字段的值。字段指令在字段值之前,并且由竖线字符包围,如下所示:
|directive [ ; directive ] | field values
您可选择下列指令:
Replace。用指定值替换当前值。如果没有指定指令(或只指定 List 指令),则此指令为默认指令。
Merge。将指定值添加到当前值中。重复的值将被过滤掉。
Remove。从当前值中删除指定值。
List。即使字段只有一个值,也强制按照有多个值的方式处理它的值。因为对多数字段而言,无论有多少个字段值,都能正确处理这些值,因此该指令并不常用。此指令是唯一可用另一个指令指定的指令。
字段值区分大小写。指定 Merge 和 Remove 指令时,这一点很重要。进行合并时,值必须完全匹配才能正确将其删除或避免有多个相似的值。