summaryrefslogtreecommitdiff
path: root/jstests/core/update3.js
blob: d29d073a40a6b28baf2453b7d81904aab4da2e9d (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
// Update with mods corner cases.

f = db.jstests_update3;

f.drop();
f.save( { a:1 } );
f.update( {}, {$inc:{ a:1 }} );
assert.eq( 2, f.findOne().a , "A" );

f.drop();
f.save( { a:{ b: 1 } } );
f.update( {}, {$inc:{ "a.b":1 }} );
assert.eq( 2, f.findOne().a.b , "B" );

f.drop();
f.save( { a:{ b: 1 } } );
f.update( {}, {$set:{ "a.b":5 }} );
assert.eq( 5, f.findOne().a.b , "C" );

f.drop();
f.save( {'_id':0} );
f.update( {}, {$set:{'_id':5}} );
assert.eq( 0, f.findOne()._id , "D" );

f.drop();
f.save({_id:1, a:1});
f.update({}, {$unset:{"a":1, "b.c":1}});
assert.docEq(f.findOne(), {_id:1}, "E");