blob: cf084d4b37146c990c5312756e1344e2dbb6d101 (
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.writeOK(coll.insert({a: [1]}));
assert.writeOK(coll.insert({a: {c: 1}}));
assert.writeOK(coll.insert({a: [{c: 1}, {b: 1, c: 1}, {c: 1}]}));
assert.writeOK(coll.insert({a: 1}));
assert.writeOK(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());
}());
|