const t = db[jsTestName()]; t.drop(); let o = { _id: 1, a: [ {x: 1, y: 1}, {x: 2, y: 2}, {x: 3, y: 3}, ], }; assert.commandWorked(t.insert(o)); assert.eq(o, t.findOne(), "A1"); let q = {"a.x": 2}; assert.commandWorked(t.update(q, {$set: {b: 5}})); o.b = 5; assert.eq(o, t.findOne(), "A2"); assert.commandWorked(t.update({"a.x": 2}, {$inc: {"a.$.y": 1}})); o.a[1].y++; assert.eq(o, t.findOne(), "A3");