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

41 lines
924 B
JavaScript

// @tags: [requires_fastcount]
const t = db[jsTestName()];
function go(key) {
t.drop();
function check(num, name) {
assert.eq(1, t.find().count(), tojson(key) + " count " + name);
assert.eq(num, t.findOne().n, tojson(key) + " value " + name);
}
assert.commandWorked(t.update(key, {$inc: {n: 1}}, true));
check(1, "A");
assert.commandWorked(t.update(key, {$inc: {n: 1}}, true));
check(2, "B");
assert.commandWorked(t.update(key, {$inc: {n: 1}}, true));
check(3, "C");
let ik = {};
for (let k in key)
ik[k] = 1;
assert.commandWorked(t.createIndex(ik));
assert.commandWorked(t.update(key, {$inc: {n: 1}}, true));
check(4, "D");
}
go({a: 5});
go({a: 5});
go({a: 5, b: 7});
go({a: null, b: 7});
go({referer: 'blah'});
go({referer: 'blah', lame: 'bar'});
go({referer: 'blah', name: 'bar'});
go({date: null, referer: 'blah', name: 'bar'});