summaryrefslogtreecommitdiff
path: root/src/mongo/db/update/pattern_cmp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/update/pattern_cmp.cpp')
-rw-r--r--src/mongo/db/update/pattern_cmp.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mongo/db/update/pattern_cmp.cpp b/src/mongo/db/update/pattern_cmp.cpp
index 96c25c812c2..3dbaa6c386e 100644
--- a/src/mongo/db/update/pattern_cmp.cpp
+++ b/src/mongo/db/update/pattern_cmp.cpp
@@ -108,11 +108,9 @@ PatternValueCmp::PatternValueCmp(const BSONObj& pattern,
bool PatternValueCmp::operator()(const Value& lhs, const Value& rhs) const {
namespace dps = ::mongo::dotted_path_support;
if (useWholeValue) {
- const bool ascending = ValueComparator(collator).getLessThan()(lhs, rhs);
-
- const bool reversed = (sortPattern.firstElement().number() < 0);
-
- return (reversed ? !ascending : ascending);
+ const bool descending = (sortPattern.firstElement().number() < 0);
+ return (descending ? ValueComparator(collator).getLessThan()(rhs, lhs)
+ : ValueComparator(collator).getLessThan()(lhs, rhs));
} else {
BSONObj lhsObj = lhs.isObject() ? lhs.getDocument().toBson() : lhs.wrap("");
BSONObj rhsObj = rhs.isObject() ? rhs.getDocument().toBson() : rhs.wrap("");