Php/docs/mongocode.construct

来自菜鸟教程
跳转至:导航、​搜索

MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct创建一个新的代码对象


This extension that defines this method

is deprecated. Instead, the MongoDB extension should be used. Alternatives to this method include:

说明

public MongoCode::__construct ( string $code [, array $scope = array() ] )

参数

code
字符串代码。
scope
使用代码的范围。


返回值

返回一个新的代码对象。


范例

Example #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; }"
}

Example #2 使用具有 $where 的 MongoCode

这个例子查询了集合里,'x' 字段比 $y 小的元素。 注意,PHP 对象能够传入到 JavaScript 作用域,然后 JavaScript 函数返回一个 boolean。


<?php$cursor = $collection->find(array('$where' => new MongoCode('function() { return this.x < y; }', array('y'=>$y))));?>