summaryrefslogtreecommitdiff
path: root/jstests/core/server1470.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/server1470.js')
-rw-r--r--jstests/core/server1470.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/jstests/core/server1470.js b/jstests/core/server1470.js
new file mode 100644
index 00000000000..0bb4d02c933
--- /dev/null
+++ b/jstests/core/server1470.js
@@ -0,0 +1,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() );
+
+
+
+
+