Files
mongo/jstests/core/verify_update_mods.js
Siyuan Zhou 3660343e0b SERVER-12127 migrate js tests to jscore suite when not related to writes
Migrate js tests starting from j-z.
Include SERVER-12920 Update use_power_of_2.js

Signed-off-by: Matt Kangas <matt.kangas@mongodb.com>
2014-03-03 22:54:10 -05:00

84 lines
1.7 KiB
JavaScript

// Verify update mods exist
var res;
t = db.update_mods;
t.drop();
t.save({_id:1});
res = t.update({}, {$set:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$unset:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$inc:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$mul:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$push:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$pushAll:{a:[1]}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$addToSet:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$pull:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$pop:{a:true}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$rename:{a:"b"}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$bit:{a:{and:NumberLong(1)}}})
assert.writeOK(res);
t.remove({})
// SERVER-3223 test $bit can do an upsert
t.update({_id:1}, {$bit:{a:{and:NumberLong(3)}}}, true);
assert.eq(t.findOne({_id:1}).a, NumberLong(0), "$bit upsert with and");
t.update({_id:2}, {$bit:{b:{or:NumberLong(3)}}}, true);
assert.eq(t.findOne({_id:2}).b, NumberLong(3), "$bit upsert with or (long)");
t.update({_id:3}, {$bit:{"c.d":{or:NumberInt(3)}}}, true);
assert.eq(t.findOne({_id:3}).c.d, NumberInt(3), "$bit upsert with or (int)");
t.remove({});
t.save({_id:1});
res = t.update({}, {$currentDate:{a:true}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$max:{a:1}})
assert.writeOK(res);
t.remove({})
t.save({_id:1});
res = t.update({}, {$min:{a:1}})
assert.writeOK(res);
t.remove({})