新しいコードオブジェクトを作成する

# MongoCode::__construct

(PECL mongo >= 0.8.3)

MongoCode::__construct — 新しいコードオブジェクトを作成する

> このメソッドを定義している拡張モジュールは非推奨です。 かわりに MongoDB 拡張モジュールを使うべきです。 このメソッドの代替として、以下が使えます。

> - MongoDB\BSON\JavaScript::__construct()

### 説明

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