MongoCode::__construct
(PECL mongo >= 0.8.3)
MongoCode::__construct — Создает новый объект MongoCode
Расширение, задающее этот метод, объявлено устаревшим. Вместо него используйте расширение MongoDB. Есть такие альтернативы:
Описание
$code
, array $scope = array()
)Список параметров
-
code -
Строка кода.
-
scope -
Скоуп использования кода.
Возвращаемые значения
Возвращает новый объект MongoCode.
Примеры
Пример #1 Пример использования MongoCode::__construct()
<?php
$code = new MongoCode('function() { '.
'for(i=0;i<10;i++) {'.
'db.foo.update({z : i}, {z : x});'.
'}'.
'return x-1;'.
'}', array("x" => 4));
var_dump($code);
?>
Результатом выполнения данного примера будет что-то подобное:
object(MongoCode)#1 (2) {
["scope"]=>
array(1) {
["x"]=>
int(4)
}
["code"]=>
string(80) "function() { for(i=0;i<10;i++) { db.foo.update({z : i}, {z : x}); } return x-1; }"
}
Пример #2 Использование MongoCode с $where
В данном примере запрашивается коллекция элементов, для которых поле 'x' меньше чем $y. Обратите внимание, что объекты PHP могут быть переданы в скоуп JavaScript и функция JavaScript возвращает boolean.
<?php
$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));
?>