t = db.geo_sort1; t.drop(); for (x = 0; x < 10; x++) { for (y = 0; y < 10; y++) { t.insert({loc: [x, y], foo: x * x * y}); } } t.ensureIndex({loc: "2d", foo: 1}); q = t.find({loc: {$near: [5, 5]}, foo: {$gt: 20}}); m = function(z) { return z.foo; }; a = q.clone().map(m); b = q.clone().sort({foo: 1}).map(m); assert.neq(a, b, "A"); a.sort(); b.sort(); assert.eq(a, b, "B");