summaryrefslogtreecommitdiff
path: root/jstests/core/server1470.js
blob: 0bb4d02c9334f1a2be76953a7bf1354a6d3e1172 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

t = db.server1470;
t.drop();

q = { "name" : "first" , "pic" : { "$ref" : "foo", "$id" : ObjectId("4c48d04cd33a5a92628c9af6") } };
t.update( q , {$set:{ x : 1  } } , true, true );
ref = t.findOne().pic
assert.eq( "object", typeof( ref ) );
assert.eq( q.pic["$ref"] , ref["$ref"] )
assert.eq( q.pic["$id"] , ref["$id"] )

// just make we haven't broken other update operators
t.drop();
t.update( { _id : 1 , x : { $gt : 5 } } , { $set : { y : 1 } } , true );
assert.eq( { _id : 1 , y : 1 } , t.findOne() );