summaryrefslogtreecommitdiff
path: root/jstests/core/update_addToSet3.js
blob: efd682cef4cf696214e8427be46188b5691208eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Test the use of $each in $addToSet

t = db.update_addToSet3;
t.drop();

t.insert({_id: 1});

t.update({_id: 1}, {$addToSet: {a: {$each: [6, 5, 4]}}});
assert.eq(t.findOne(), {_id: 1, a: [6, 5, 4]}, "A1");

t.update({_id: 1}, {$addToSet: {a: {$each: [3, 2, 1]}}});
assert.eq(t.findOne(), {_id: 1, a: [6, 5, 4, 3, 2, 1]}, "A2");

t.update({_id: 1}, {$addToSet: {a: {$each: [4, 7, 9, 2]}}});
assert.eq(t.findOne(), {_id: 1, a: [6, 5, 4, 3, 2, 1, 7, 9]}, "A3");

t.update({_id: 1}, {$addToSet: {a: {$each: [12, 13, 12]}}});
assert.eq(t.findOne(), {_id: 1, a: [6, 5, 4, 3, 2, 1, 7, 9, 12, 13]}, "A4");

assert.writeError(t.update({_id: 1}, {$addToSet: {a: {$each: 0}}}));
assert.writeError(t.update({_id: 1}, {$addToSet: {a: {$each: {a: 1}}}}));