summaryrefslogtreecommitdiff
path: root/jstests/aggregation/bugs/server13715.js
blob: 608e94d37a43ddc7f34c5b9b39e7b077fb121c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Make sure that aggregation and query agree on how NO_BLOCKING_SORT should fail
// if only blocking sort solutions are available.

var t = db.jstests_server13715;
t.drop();

t.save({_id: 0, name: "red", value: 2});
t.save({_id: 1, name: "blue", value: 1});

var cursor = t.aggregate([
    {$match: {$or: [{name: "red"}, {name: "blue"}]}},
    {$sort: {value: 1}}
]);
assert.eq(1, cursor.next()["_id"]);
assert.eq(0, cursor.next()["_id"]);

// Repeat the test with an index.
t.ensureIndex({name: 1});

cursor = t.aggregate([
    {$match: {$or: [{name: "red"}, {name: "blue"}]}},
    {$sort: {value: 1}}
]);
assert.eq(1, cursor.next()["_id"]);
assert.eq(0, cursor.next()["_id"]);