数组更新操作符

加一个值到数组内,而且只有当这个值不在数组内才增加。


用法

{$addToSet:{field:value}}

示例

例如,将userid=3的记录的name字段里追加一个别名("N1"、"N2")。先展示当前数据,如下面的代码所示:

>db.t3.find()
{"_id":ObjectId("4fe680228414d282f712fae7"),
"userid":3,"name":["wangwenlong"]}

可以看到当前别名只有1个"wangwenlong",然后将("N1"、"N2")名字加入到name字段数据组里,并作为一个单独的对象,如下面的代码所示:

>db.t3.update({"userid":3},{$addToSet:{"name":["N1","N2"]}})
>db.t3.find()
{"_id":ObjectId("4fe680228414d282f712fae7"),
"name":["wangwenlong",["N1","N2"]],"userid":3}

可以看到,更新后别名里又多了1个对象,这个对象里面包含2个数据,分别是"N1"和"N2"。

数组更新操作符