2010-03-02 00:04:21 +01:00
|
|
|
t = db.unset2;
|
|
|
|
t.drop();
|
|
|
|
|
|
|
|
t.save( {a:["a","b","c","d"]} );
|
|
|
|
t.update( {}, {$unset:{"a.3":1}} );
|
2010-03-03 08:09:34 +01:00
|
|
|
assert.eq( ["a","b","c",null], t.findOne().a );
|
2010-03-02 00:04:21 +01:00
|
|
|
t.update( {}, {$unset:{"a.1":1}} );
|
2010-03-03 08:09:34 +01:00
|
|
|
assert.eq( ["a",null,"c",null], t.findOne().a );
|
2010-03-02 00:04:21 +01:00
|
|
|
t.update( {}, {$unset:{"a.0":1}} );
|
2010-03-03 08:09:34 +01:00
|
|
|
assert.eq( [null,null,"c",null], t.findOne().a );
|
|
|
|
t.update( {}, {$unset:{"a.4":1}} );
|
|
|
|
assert.eq( [null,null,"c",null], t.findOne().a ); // no change
|
2010-03-03 07:42:44 +01:00
|
|
|
|
|
|
|
t.drop();
|
|
|
|
t.save( {a:["a","b","c","d","e"]} );
|
|
|
|
t.update( {}, {$unset:{"a.2":1},$set:{"a.3":3,"a.4":4,"a.5":5}} );
|
2010-03-03 08:09:34 +01:00
|
|
|
assert.eq( ["a","b",null,3,4,5], t.findOne().a );
|
|
|
|
|
|
|
|
t.drop();
|
|
|
|
t.save( {a:["a","b","c","d","e"]} );
|
|
|
|
t.update( {}, {$unset:{"a.2":1},$set:{"a.2":4}} );
|
|
|
|
assert( db.getLastError() );
|
|
|
|
assert.eq( ["a","b","c","d","e"], t.findOne().a );
|