39 lines
688 B
JavaScript
39 lines
688 B
JavaScript
|
|
t = db.sort6;
|
|
|
|
function get(x) {
|
|
return t.find().sort({c: x}).map(function(z) {
|
|
return z._id;
|
|
});
|
|
}
|
|
|
|
// part 1
|
|
t.drop();
|
|
|
|
t.insert({_id: 1, c: null});
|
|
t.insert({_id: 2, c: 1});
|
|
t.insert({_id: 3, c: 2});
|
|
|
|
assert.eq([3, 2, 1], get(-1), "A1"); // SERVER-635
|
|
assert.eq([1, 2, 3], get(1), "A2");
|
|
|
|
t.ensureIndex({c: 1});
|
|
|
|
assert.eq([3, 2, 1], get(-1), "B1");
|
|
assert.eq([1, 2, 3], get(1), "B2");
|
|
|
|
// part 2
|
|
t.drop();
|
|
|
|
t.insert({_id: 1});
|
|
t.insert({_id: 2, c: 1});
|
|
t.insert({_id: 3, c: 2});
|
|
|
|
assert.eq([3, 2, 1], get(-1), "C1"); // SERVER-635
|
|
assert.eq([1, 2, 3], get(1), "C2");
|
|
|
|
t.ensureIndex({c: 1});
|
|
|
|
assert.eq([3, 2, 1], get(-1), "D1");
|
|
assert.eq([1, 2, 3], get(1), "X2");
|