summaryrefslogtreecommitdiff
path: root/jstests/core/server1470.js
blob: 040eda4228f0032c396f2ee2c1fb8ef6c7dd43e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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]

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

q = {
    "name": "first",
    "pic": {"$ref": "foo", "$id": ObjectId("4c48d04cd33a5a92628c9af6")}
};
t.update(q, {$set: {x: 1}}, true, true);
ref = t.findOne().pic;
assert.eq("object", typeof(ref));
assert.eq(q.pic["$ref"], ref["$ref"]);
assert.eq(q.pic["$id"], ref["$id"]);

// just make we haven't broken other update operators
t.drop();
t.update({_id: 1, x: {$gt: 5}}, {$set: {y: 1}}, true);
assert.eq({_id: 1, y: 1}, t.findOne());