summaryrefslogtreecommitdiff
path: root/jstests/core/geo_update2.js
blob: 27825416e02f262eb1bcd069f258752dd0d57aa1 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
// @tags: [requires_non_retryable_writes]

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

for (var x = 0; x < 10; x++) {
    for (var y = 0; y < 10; y++) {
        t.insert({"loc": [x, y], x: x, y: y});
    }
}

t.ensureIndex({loc: "2d"});

function p() {
    print("--------------");
    for (var y = 0; y < 10; y++) {
        var c = t.find({y: y}).sort({x: 1});
        var s = "";
        while (c.hasNext())
            s += c.next().z + " ";
        print(s);
    }
    print("--------------");
}

p();

assert.commandWorked(
    t.update({"loc": {"$within": {"$center": [[5, 5], 2]}}}, {'$inc': {'z': 1}}, false, true));
p();

assert.commandWorked(t.update({}, {'$inc': {'z': 1}}, false, true));
p();

assert.commandWorked(
    t.update({"loc": {"$within": {"$center": [[5, 5], 2]}}}, {'$inc': {'z': 1}}, false, true));
p();