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