16 lines
634 B
JavaScript
16 lines
634 B
JavaScript
// do not allow creation of fields with a $ prefix
|
|
load('jstests/aggregation/extras/utils.js');
|
|
|
|
c = db.c;
|
|
c.drop();
|
|
|
|
c.insert({a: 1});
|
|
|
|
// assert that we get the proper error in both $project and $group
|
|
assertErrorCode(c, {$project: {$a: "$a"}}, 16410);
|
|
assertErrorCode(c, {$project: {a: {$b: "$a"}}}, ErrorCodes.InvalidPipelineOperator);
|
|
assertErrorCode(c, {$project: {a: {"$b": "$a"}}}, ErrorCodes.InvalidPipelineOperator);
|
|
assertErrorCode(c, {$project: {'a.$b': "$a"}}, 16410);
|
|
assertErrorCode(c, {$group: {_id: "$_id", $a: {$sum: 1}}}, 40236);
|
|
assertErrorCode(c, {$group: {_id: {$a: "$a"}}}, ErrorCodes.InvalidPipelineOperator);
|