summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron <aaron@10gen.com>2011-04-19 11:26:16 -0700
committerAaron <aaron@10gen.com>2011-04-19 11:27:14 -0700
commitaf93c8bb91d4a7a2ce25d8b81bc08a01f52cdc46 (patch)
tree1c16ee76001ef418fc4a964952d5363507fc23d3
parent61b5b745084a12ab07ae30f889d89c36a1757d60 (diff)
downloadmongo-af93c8bb91d4a7a2ce25d8b81bc08a01f52cdc46.tar.gz
SERVER-480 test
-rw-r--r--jstests/sort7.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/jstests/sort7.js b/jstests/sort7.js
new file mode 100644
index 00000000000..31ee064da64
--- /dev/null
+++ b/jstests/sort7.js
@@ -0,0 +1,27 @@
+// Check sorting of array sub field SERVER-480.
+
+if ( 0 ) { // SERVER-480
+t = db.jstests_sort7;
+t.drop();
+
+// Compare indexed and unindexed sort order for an array embedded field.
+
+t.save( { a : [ { x : 2 } ] } );
+t.save( { a : [ { x : 1 } ] } );
+t.save( { a : [ { x : 3 } ] } );
+unindexed = t.find().sort( {"a.x":1} ).toArray();
+t.ensureIndex( { "a.x" : 1 } );
+indexed = t.find().sort( {"a.x":1} ).hint( {"a.x":1} ).toArray();
+assert.eq( unindexed, indexed );
+
+// Now check when there are two objects in the array.
+
+t.remove();
+t.save( { a : [ { x : 2 }, { x : 3 } ] } );
+t.save( { a : [ { x : 1 }, { x : 4 } ] } );
+t.save( { a : [ { x : 3 }, { x : 2 } ] } );
+unindexed = t.find().sort( {"a.x":1} ).toArray();
+t.ensureIndex( { "a.x" : 1 } );
+indexed = t.find().sort( {"a.x":1} ).hint( {"a.x":1} ).toArray();
+assert.eq( unindexed, indexed );
+} \ No newline at end of file