summaryrefslogtreecommitdiff
path: root/jstests/core/update_arraymatch7.js
blob: 4ee9ed26f7c237e28f159c3955ad62c676b38c08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Cannot implicitly shard accessed collections because of following errmsg: A single
// update/delete on a sharded collection must contain an exact match on _id or contain the shard
// key.
// @tags: [assumes_unsharded_collection, requires_non_retryable_writes]

// Check that the positional operator works properly when an index only match is used for the update
// query spec.  SERVER-5067

t = db.jstests_update_arraymatch7;
t.drop();

function testPositionalInc() {
    t.remove({});
    t.save({a: [{b: 'match', count: 0}]});
    t.update({'a.b': 'match'}, {$inc: {'a.$.count': 1}});
    // Check that the positional $inc succeeded.
    assert(t.findOne({'a.count': 1}));
}

testPositionalInc();

// Now check with a non multikey index.
t.ensureIndex({'a.b': 1});
testPositionalInc();