addtoset()

聚集函数

将集合中多条记录中的相同字段的值合并到一个没有重复值的数组中。

语法

addtoset()

参数

参数名参数类型描述是否必填
field_namestring其值将被合并的字段名。

返回值

包含 field_name 字段所有不同取值的数组。

示例

  • 集合 foo.bar 中原始记录如下所示。

    1. {a:1, b:1}
    2. {a:2, b:2}
    3. {a:2, b:3}
    4. {a:2, b:3}
  • 本例将以 a 字段分组,得到集合 foo.bar 中记录的 a 字段相同时,所有 b 字段的取值。

    1. > db.exec("select a, addtoset(b) as b from foo.bar group by a")
    2. {
    3. "a": 1,
    4. "b": [
    5. 1
    6. ]
    7. }
    8. {
    9. "a": 2,
    10. "b": [
    11. 2,
    12. 3
    13. ]
    14. }
    15. Return 2 row(s).
    16. Takes 0.6891s.