summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/expression.cpp
diff options
context:
space:
mode:
authormatt dannenberg <matt.dannenberg@10gen.com>2013-08-21 13:44:58 -0400
committermatt dannenberg <matt.dannenberg@10gen.com>2013-08-26 18:23:11 -0400
commite4ccee5ee54f76cd3ecba0b8c55d38fa4ef7b212 (patch)
treed9166db4fa7c2d3cdcaf84df11044234745b23b0 /src/mongo/db/pipeline/expression.cpp
parentc9cb874f227531c9cffe7e292185a8c8a3e61c32 (diff)
downloadmongo-e4ccee5ee54f76cd3ecba0b8c55d38fa4ef7b212.tar.gz
SERVER-10628 change $any to $anyElementTrue, $all to $allElementsTrue, and remove $none
Diffstat (limited to 'src/mongo/db/pipeline/expression.cpp')
-rw-r--r--src/mongo/db/pipeline/expression.cpp41
1 files changed, 10 insertions, 31 deletions
diff --git a/src/mongo/db/pipeline/expression.cpp b/src/mongo/db/pipeline/expression.cpp
index e5c09651c47..3fb07d82394 100644
--- a/src/mongo/db/pipeline/expression.cpp
+++ b/src/mongo/db/pipeline/expression.cpp
@@ -368,9 +368,9 @@ namespace {
return "$add";
}
- /* ------------------------- ExpressionAll -------------------------- */
+ /* ------------------------- ExpressionAllElementsTrue -------------------------- */
- Value ExpressionAll::evaluateInternal(const Variables& vars) const {
+ Value ExpressionAllElementsTrue::evaluateInternal(const Variables& vars) const {
const Value arr = vpOperand[0]->evaluateInternal(vars);
uassert(17040, str::stream() << getOpName() << "'s argument must be an array, but is "
<< typeName(arr.getType()),
@@ -384,9 +384,9 @@ namespace {
return Value(true);
}
- REGISTER_EXPRESSION("$all", ExpressionAll::parse);
- const char *ExpressionAll::getOpName() const {
- return "$all";
+ REGISTER_EXPRESSION("$allElementsTrue", ExpressionAllElementsTrue::parse);
+ const char *ExpressionAllElementsTrue::getOpName() const {
+ return "$allElementsTrue";
}
/* ------------------------- ExpressionAnd ----------------------------- */
@@ -477,9 +477,9 @@ namespace {
}
- /* ------------------------- ExpressionAny -------------------------- */
+ /* ------------------------- ExpressionAnyElementTrue -------------------------- */
- Value ExpressionAny::evaluateInternal(const Variables& vars) const {
+ Value ExpressionAnyElementTrue::evaluateInternal(const Variables& vars) const {
const Value arr = vpOperand[0]->evaluateInternal(vars);
uassert(17041, str::stream() << getOpName() << "'s argument must be an array, but is "
<< typeName(arr.getType()),
@@ -493,9 +493,9 @@ namespace {
return Value(false);
}
- REGISTER_EXPRESSION("$any", ExpressionAny::parse);
- const char *ExpressionAny::getOpName() const {
- return "$any";
+ REGISTER_EXPRESSION("$anyElementTrue", ExpressionAnyElementTrue::parse);
+ const char *ExpressionAnyElementTrue::getOpName() const {
+ return "$anyElementTrue";
}
/* -------------------- ExpressionCoerceToBool ------------------------- */
@@ -2009,27 +2009,6 @@ namespace {
return Value(DOC(getOpName() << array));
}
- /* ------------------------- ExpressionNone -------------------------- */
-
- Value ExpressionNone::evaluateInternal(const Variables& vars) const {
- const Value arr = vpOperand[0]->evaluateInternal(vars);
- uassert(16964, str::stream() << getOpName() << "'s argument must be an array, but is "
- << typeName(arr.getType()),
- arr.getType() == Array);
- const vector<Value>& array = arr.getArray();
- for (vector<Value>::const_iterator it = array.begin(); it != array.end(); ++it) {
- if (it->coerceToBool()) {
- return Value(false);
- }
- }
- return Value(true);
- }
-
- REGISTER_EXPRESSION("$none", ExpressionNone::parse);
- const char *ExpressionNone::getOpName() const {
- return "$none";
- }
-
/* ------------------------- ExpressionNot ----------------------------- */
Value ExpressionNot::evaluateInternal(const Variables& vars) const {