diff options
author | Alya Berciu <alyacarina@gmail.com> | 2021-05-06 10:09:11 +0100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-05-13 08:53:21 +0000 |
commit | fe74857f35267a767de40da27ce5e67aa83f4bba (patch) | |
tree | 1c4abb9578072e2e8f7ace43fc2cba538e44b480 /src/mongo/db/matcher | |
parent | 952e709824d58eddff659c9ff31da69fa839470b (diff) | |
download | mongo-fe74857f35267a767de40da27ce5e67aa83f4bba.tar.gz |
SERVER-49118 Update error messages for operations that reject fieldnames with '.' and '$'
Diffstat (limited to 'src/mongo/db/matcher')
-rw-r--r-- | src/mongo/db/matcher/expression_parser.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mongo/db/matcher/expression_parser.cpp b/src/mongo/db/matcher/expression_parser.cpp index fad7bec68b5..0dc18343ca5 100644 --- a/src/mongo/db/matcher/expression_parser.cpp +++ b/src/mongo/db/matcher/expression_parser.cpp @@ -282,9 +282,14 @@ StatusWithMatchExpression parse(const BSONObj& obj, auto parseExpressionMatchFunction = retrievePathlessParser(name); if (!parseExpressionMatchFunction) { + const auto dotsAndDollarsHint = + feature_flags::gFeatureFlagDotsAndDollars.isEnabledAndIgnoreFCV() + ? ". If you have a field name that starts with a '$' symbol, consider using " + "$getField or $setField." + : ""; return {Status(ErrorCodes::BadValue, - str::stream() - << "unknown top level operator: " << e.fieldNameStringData())}; + str::stream() << "unknown top level operator: " + << e.fieldNameStringData() << dotsAndDollarsHint)}; } auto parsedExpression = parseExpressionMatchFunction( |