summaryrefslogtreecommitdiff
path: root/jstests/server5346.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/server5346.js')
-rw-r--r--jstests/server5346.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/jstests/server5346.js b/jstests/server5346.js
new file mode 100644
index 00000000000..f90d6b579c2
--- /dev/null
+++ b/jstests/server5346.js
@@ -0,0 +1,16 @@
+
+t = db.server5346;
+t.drop();
+
+x = { _id : 1 , versions : {} }
+t.insert( x )
+
+t.update({ _id : 1 }, { $inc : { "versions.2_01" : 1 } } )
+t.update({ _id : 1 }, { $inc : { "versions.2_1" : 2 } } )
+t.update({ _id : 1 }, { $inc : { "versions.01" : 3 } } )
+t.update({ _id : 1 }, { $inc : { "versions.1" : 4 } } )
+
+// Make sure the correct fields are set, without duplicates.
+// String comparison must be used because V8 reorders numeric fields in objects.
+assert.eq( '{ "_id" : 1, "versions" : { "01" : 3, "1" : 4, "2_01" : 1, "2_1" : 2 } }' ,
+ tojson( t.findOne(), null, true ) )