summaryrefslogtreecommitdiff
path: root/jstests/aggregation/bugs/server6185.js
blob: 156dc6ce6feb82ce54530e46585b295af1b65c96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * Tests that projecting a non-existent subfield behaves identically in both query and aggregation.
 */
(function() {
"use strict";
const coll = db.c;
coll.drop();

assert.commandWorked(coll.insert({a: [1]}));
assert.commandWorked(coll.insert({a: {c: 1}}));
assert.commandWorked(coll.insert({a: [{c: 1}, {b: 1, c: 1}, {c: 1}]}));
assert.commandWorked(coll.insert({a: 1}));
assert.commandWorked(coll.insert({b: 1}));

assert.eq(coll.aggregate([{$project: {'a.b': 1}}, {$sort: {_id: 1}}]).toArray(),
          coll.find({}, {'a.b': 1}).sort({_id: 1}).toArray());
}());