加一个值到数组内,而且只有当这个值不在数组内才增加。
{$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"。