【发布时间】:2014-04-18 20:37:45
【问题描述】:
$addToSet operator 仅当值不在数组中时才将值添加到数组中。如果值在数组中,$addToSet 不会修改数组。
我想插入两个不应通过一个请求重复的值。这可能吗?
我试图将一个数组传递给$addToSet 运算符,但它插入了一个数组而不是该数组中的每个值。
$ mongo test
MongoDB shell version: 2.4.9
connecting to: test
> db.c.insert({a: [1, 2, 3]})
> db.c.find()
{ "_id" : ObjectId("53511a255a82cd559393d840"), "a" : [ 1, 2, 3 ] }
> db.c.update({}, {$addToSet: {a: [2, 4]}})
> db.c.find()
{ "_id" : ObjectId("53511a255a82cd559393d840"), "a" : [ 1, 2, 3, [ 2, 4 ] ] }
【问题讨论】: