Php/docs/mongocode.construct

提供:Dev Guides
< Php
移動先:案内検索

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