diff options
Diffstat (limited to 'jstests/sort7.js')
-rw-r--r-- | jstests/sort7.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/jstests/sort7.js b/jstests/sort7.js new file mode 100644 index 0000000..d73f13a --- /dev/null +++ b/jstests/sort7.js @@ -0,0 +1,25 @@ +// Check sorting of array sub field 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 ); |