Files
mongo/jstests/core/sorta.js

30 lines
885 B
JavaScript
Raw Normal View History

// SERVER-2905 sorting with missing fields
(function() {
'use strict';
var t = db.jstests_sorta;
t.drop();
assert.writeOK(t.insert({_id: 0, a: MinKey}));
assert.writeOK(t.save({_id: 3, a: null}));
assert.writeOK(t.save({_id: 1, a: []}));
assert.writeOK(t.save({_id: 7, a: [2]}));
assert.writeOK(t.save({_id: 4}));
assert.writeOK(t.save({_id: 5, a: null}));
assert.writeOK(t.save({_id: 2, a: []}));
assert.writeOK(t.save({_id: 6, a: 1}));
assert.writeOK(t.insert({_id: 8, a: MaxKey}));
function sorted(arr) {
assert.eq(9, arr.length, tojson(arr));
for (var i = 1; i < arr.length; ++i) {
assert.lte(arr[i - 1]._id, arr[i]._id);
}
}
sorted(t.find().sort({a: 1}).toArray());
assert.commandWorked(t.ensureIndex({a: 1}));
sorted(t.find().sort({a: 1}).hint({a: 1}).toArray());
})();