summaryrefslogtreecommitdiff
path: root/jstests/aggregation/bugs/server3832.js
blob: c5bdf27e36e7e2940052ca251c98a815121c27c2 (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var s3832 = db.c;
s3832.drop();

s3832.save({_id: 1, a:"foo", b:"bar"});
s3832.save({_id: 2, a:"feh", b:"baz"});
s3832.save({_id: 3, a:"fee", b:"fum"});

var a1 = s3832.aggregate( { $match : { b : "baz" } } );

var a1result = [
    {
        "_id" : 2,
        "a" : "feh",
        "b" : "baz"
    }
];

assert.eq(a1.toArray(), a1result, 's3832.a1 failed');


var a2 = s3832.aggregate( { $sort : { a : 1 } } );

var a2result = [
    {
        "_id" : 3,
        "a" : "fee",
        "b" : "fum"
    },
    {
        "_id" : 2,
        "a" : "feh",
        "b" : "baz"
    },
    {
        "_id" : 1,
        "a" : "foo",
        "b" : "bar"
    }
];

assert.eq(a2.toArray(), a2result, 's3832.a2 failed');


var a3 = s3832.aggregate(
    { $match : { b : "baz" } },
    { $sort : { a : 1 } } );

assert.eq(a3.toArray(), a1result, 's3832.a3 failed');


db.s3832.ensureIndex({ b : 1 }, { name : "s3832_b" });


var a4 = s3832.aggregate({ $match : { b : "baz" } });

assert.eq(a4.toArray(), a1result, 's3832.a4 failed');


var a5 = s3832.aggregate({ $sort : { a : 1 } });

assert.eq(a5.toArray(), a2result, 's3832.a5 failed');


var a6 = s3832.aggregate(
    { $match : { b : "baz" } },
    { $sort : { a : 1 } } );

assert.eq(a6.toArray(), a1result, 's3832.a6 failed');


var dropb = db.s3832.dropIndex("s3832_b");

db.s3832.ensureIndex({ a : 1 }, { name : "s3832_a" });

var a7 = s3832.aggregate({ $match : { b : "baz" } });

assert.eq(a7.toArray(), a1result, 's3832.a7 failed');


var a8 = s3832.aggregate({ $sort : { a : 1 } });

assert.eq(a8.toArray(), a2result, 's3832.a8 failed');


var a9 = s3832.aggregate(
    { $match : { b : "baz" } },
    { $sort : { a : 1 } } );

assert.eq(a9.toArray(), a1result, 's3832.a9 failed');