summaryrefslogtreecommitdiff
path: root/jstests/core/where4.js
blob: 61ec3771bed279e1835ee1a27b82e6b208c12a6b (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

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" } )