1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
// SERVER-6177: better error when projecting into a subfield with an existing expression
// load the test utilities
load('jstests/aggregation/extras/utils.js');
var c = db.c;
c.drop();
c.save( {} );
// These currently give different errors
assertErrorCode(c, { $project:{ 'x':{ $add:[ 1 ] }, 'x.b':1 } }, 16401);
assertErrorCode(c, { $project:{ 'x.b': 1, 'x':{ $add:[ 1 ] }} }, 16400);
// These both give the same error however
assertErrorCode(c, { $project:{'x':{'b':1}, 'x.b': 1} }, 16400);
assertErrorCode(c, { $project:{'x.b': 1, 'x':{'b':1}} }, 16400);
|