MongoCode::__construct
(PECL mongo >= 0.8.3)
MongoCode::__construct — 新しいコードオブジェクトを作成する
このメソッドを定義している拡張モジュールは非推奨です。
かわりに MongoDB 拡張モジュールを使うべきです。 このメソッドの代替として、以下が使えます。
説明
public MongoCode::__construct
( string $code
[, array $scope
= array()
] )
パラメータ
code
- コード文字列。
scope
- このコードで使用するスコープ。
返り値
新しいコードオブジェクトを返します。
例
例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))));?>