31 lines
703 B
JavaScript
31 lines
703 B
JavaScript
// 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]
|
|
|
|
t = db.updated;
|
|
t.drop();
|
|
|
|
o = {
|
|
_id: Math.random(),
|
|
items: [null, null, null, null]
|
|
};
|
|
|
|
t.insert(o);
|
|
assert.docEq(o, t.findOne(), "A1");
|
|
|
|
o.items[0] = {
|
|
amount: 9000,
|
|
itemId: 1
|
|
};
|
|
t.update({}, {$set: {"items.0": o.items[0]}});
|
|
assert.docEq(o, t.findOne(), "A2");
|
|
|
|
o.items[0].amount += 1000;
|
|
o.items[1] = {
|
|
amount: 1,
|
|
itemId: 2
|
|
};
|
|
t.update({}, {$inc: {"items.0.amount": 1000}, $set: {"items.1": o.items[1]}});
|
|
assert.docEq(o, t.findOne(), "A3");
|