diff options
Diffstat (limited to 'jstests/unset.js')
-rw-r--r-- | jstests/unset.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/unset.js b/jstests/unset.js new file mode 100644 index 00000000000..f3cdcf03deb --- /dev/null +++ b/jstests/unset.js @@ -0,0 +1,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" ); |