public function testMap() { $in = new Expr(); $in->add('$$grade', 2); $expr = new Expr(); $this->assertSame($expr, $expr->field('adjustedGrades')->map('$quizzes', 'grade', $in)); $this->assertSame(array('adjustedGrades' => array('$map' => array('input' => '$quizzes', 'as' => 'grade', 'in' => array('$add' => array('$$grade', 2))))), $expr->getExpression()); }
/** * Adds numbers together or adds numbers and a date. If one of the arguments * is a date, $add treats the other arguments as milliseconds to add to the * date. * * The arguments can be any valid expression as long as they resolve to either all numbers or to numbers and a date. * * @see http://docs.mongodb.org/manual/reference/operator/aggregation/add/ * @see Expr::add * @param mixed|Expr $expression1 * @param mixed|Expr $expression2 * @param mixed|Expr $expression3,... Additional expressions * @return $this */ public function add($expression1, $expression2) { $this->expr->add(...func_get_args()); return $this; }