diff --git a/extensions/mongodb/Collection.php b/extensions/mongodb/Collection.php index f90298d..d71198a 100644 --- a/extensions/mongodb/Collection.php +++ b/extensions/mongodb/Collection.php @@ -651,7 +651,7 @@ class Collection extends Object } /** - * Converts user friendly condition keyword into actual Mongo condition keyword. + * Converts "\yii\db\*" quick condition keyword into actual Mongo condition keyword. * @param string $key raw condition key. * @return string actual key. */ @@ -659,25 +659,8 @@ class Collection extends Object { static $map = [ 'OR' => '$or', - '>' => '$gt', - '>=' => '$gte', - '<' => '$lt', - '<=' => '$lte', - '!=' => '$ne', - '<>' => '$ne', 'IN' => '$in', 'NOT IN' => '$nin', - 'ALL' => '$all', - 'SIZE' => '$size', - 'TYPE' => '$type', - 'EXISTS' => '$exists', - 'NOTEXISTS' => '$exists', - 'ELEMMATCH' => '$elemMatch', - 'MOD' => '$mod', - '%' => '$mod', - '=' => '$$eq', - '==' => '$$eq', - 'WHERE' => '$where' ]; $matchKey = strtoupper($key); if (array_key_exists($matchKey, $map)) { @@ -759,7 +742,6 @@ class Collection extends Object { $result = []; foreach ($condition as $name => $value) { - $name = $this->normalizeConditionKeyword($name); if (strncmp('$', $name, 1) === 0) { // Native Mongo condition: $result[$name] = $value; @@ -769,12 +751,8 @@ class Collection extends Object // Quick IN condition: $result = array_merge($result, $this->buildInCondition('IN', [$name, $value])); } else { - // Normalize possible verbose condition: - $actualValue = []; - foreach ($value as $k => $v) { - $actualValue[$this->normalizeConditionKeyword($k)] = $v; - } - $result[$name] = $actualValue; + // Mongo complex condition: + $result[$name] = $value; } } else { // Direct match: