Files
mongo/jstests/core/write/update/update5.js
Jason Zhang 28eb8d299b SERVER-80780 Merge writes without shard key jscore passthrough with existing passthrough suites (#20175)
GitOrigin-RevId: a54cc3a3df44359ea51533f062642ee841f71460
2024-04-08 02:28:42 +00:00

41 lines
806 B
JavaScript

// @tags: [requires_fastcount]
let t = db.update5;
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);
}
t.update(key, {$inc: {n: 1}}, true);
check(1, "A");
t.update(key, {$inc: {n: 1}}, true);
check(2, "B");
t.update(key, {$inc: {n: 1}}, true);
check(3, "C");
var ik = {};
for (let k in key)
ik[k] = 1;
t.createIndex(ik);
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'});