Files
mongo/jstests/core/query/update/update_addToSet3.js
Mihai Andrei 5ed8f7dcf5 SERVER-93427 Move query writing tests from jstests/core/write to jstests/core/query (#31702)
GitOrigin-RevId: 2d69ca12e591fda58c4a5387ffae9d97c0ef2283
2025-02-04 19:38:51 +00:00

22 lines
857 B
JavaScript

// Test the use of $each in $addToSet
const t = db[jsTestName()];
t.drop();
assert.commandWorked(t.insert({_id: 1}));
assert.commandWorked(t.update({_id: 1}, {$addToSet: {a: {$each: [6, 5, 4]}}}));
assert.eq(t.findOne(), {_id: 1, a: [6, 5, 4]}, "A1");
assert.commandWorked(t.update({_id: 1}, {$addToSet: {a: {$each: [3, 2, 1]}}}));
assert.eq(t.findOne(), {_id: 1, a: [6, 5, 4, 3, 2, 1]}, "A2");
assert.commandWorked(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");
assert.commandWorked(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}}}}));