summaryrefslogtreecommitdiff
path: root/jstests
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2013-04-18 08:42:40 -0400
committerMathias Stearn <redbeard0531@gmail.com>2013-04-18 19:02:42 -0400
commit022affc651140b5ad28ff5a48b5e4564e1d97317 (patch)
treebfd346364de2b2fbf94d4e406cbc213775aa3d09 /jstests
parent0b48ec01cb707a485cf46e01be05b6c0aa04cd5a (diff)
downloadmongo-022affc651140b5ad28ff5a48b5e4564e1d97317.tar.gz
SERVER-9385 Make sure _id fields are extracted from modified lazy V8 objects
Diffstat (limited to 'jstests')
-rw-r--r--jstests/server9385.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/jstests/server9385.js b/jstests/server9385.js
new file mode 100644
index 00000000000..ee86891ce2a
--- /dev/null
+++ b/jstests/server9385.js
@@ -0,0 +1,16 @@
+// SERVER-9385 ensure saving a document derived from bson->js conversion doesn't lose it's _id
+t = db.server9385;
+t.drop();
+
+t.insert( { _id : 1, x : 1 } );
+x = t.findOne();
+x._id = 2;
+t.save( x );
+
+t.find().forEach( printjson );
+
+assert.eq( 2, t.find().count() );
+assert.eq( 2, t.find().itcount() );
+
+assert( t.findOne( { _id : 1 } ), "original insert missing" );
+assert( t.findOne( { _id : 2 } ), "save didn't work?" );