Files
mongo/jstests/core/query/update/update_arraymatch2.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

19 lines
725 B
JavaScript

// @tags: [requires_multi_updates, requires_non_retryable_writes]
const t = db[jsTestName()];
t.drop();
assert.commandWorked(t.insert({}));
assert.commandWorked(t.insert({x: [1, 2, 3]}));
assert.commandWorked(t.insert({x: 99}));
assert.commandWorked(t.update({x: 2}, {$inc: {"x.$": 1}}, false, true));
assert(t.findOne({x: 1}).x[1] == 3, "A1");
assert.commandWorked(t.insert({x: {y: [8, 7, 6]}}));
assert.commandWorked(t.update({'x.y': 7}, {$inc: {"x.y.$": 1}}, false, true));
assert.eq(8, t.findOne({"x.y": 8}).x.y[1], "B1");
assert.commandWorked(t.insert({x: [90, 91, 92], y: ['a', 'b', 'c']}));
assert.commandWorked(t.update({x: 92}, {$set: {'y.$': 'z'}}, false, true));
assert.eq('z', t.findOne({x: 92}).y[2], "B2");