summaryrefslogtreecommitdiff
path: root/jstests/unset.js
blob: f3cdcf03debe7c1d18ebe06ca3e9143e70ba4f6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
t = db.unset;
t.drop();

orig = { _id : 1, emb : {} };
t.insert(orig);

t.update( { _id : 1 }, { $unset : { 'emb.a' : 1 }});
t.update( { _id : 1 }, { $unset : { 'z' : 1 }});
assert.eq( orig , t.findOne() , "A" );

t.update( { _id : 1 }, { $set : { 'emb.a' : 1 }});
t.update( { _id : 1 }, { $set : { 'z' : 1 }});

t.update( { _id : 1 }, { $unset : { 'emb.a' : 1 }});
t.update( { _id : 1 }, { $unset : { 'z' : 1 }});
assert.eq( orig , t.findOne() , "B" ); // note that emb isn't removed

t.update( { _id : 1 }, { $unset : { 'emb' : 1 }});
assert.eq( {_id :1} , t.findOne() , "C" );