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))));?>