diff options
Diffstat (limited to 'jstests/where4.js')
-rw-r--r-- | jstests/where4.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/jstests/where4.js b/jstests/where4.js new file mode 100644 index 00000000000..61ec3771bed --- /dev/null +++ b/jstests/where4.js @@ -0,0 +1,27 @@ + +db.where4.drop(); + +db.system.js.insert( { _id : "w4" , value : "5" } ) + +db.where4.insert( { x : 1 , y : 1 } ) +db.where4.insert( { x : 2 , y : 1 } ) + +db.where4.update( { $where : function() { return this.x == 1; } } , + { $inc : { y : 1 } } , false , true ); + + +assert.eq( 2 , db.where4.findOne( { x : 1 } ).y ) +assert.eq( 1 , db.where4.findOne( { x : 2 } ).y ) + +// Test that where queries work with stored javascript +db.system.js.save( { _id : "where4_addOne" , value : function(x) { return x + 1; } } ) + +db.where4.update( { $where : "where4_addOne(this.x) == 2" } , + { $inc : { y : 1 } } , false , true ); + +assert.eq( 3 , db.where4.findOne( { x : 1 } ).y ) +assert.eq( 1 , db.where4.findOne( { x : 2 } ).y ) + +db.system.js.remove( { _id : "where4_equalsOne" } ) + +db.system.js.remove( { _id : "w4" } ) |