MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual

# MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — 配列をコレクションに追加する

### 説明

public mixed MongoCollection::insert ( array `$a` [, array `$options` = array() ] )

### パラメータ

`a`

  配列。

`options`

  追加時のオプション。

  - "safe"

    追加に成功したかどうかをチェックします。

### 返り値

`safe` が設定されている場合は、 追加結果を含む配列を返します。設定されていない場合は、 配列が空でなかったかどうかをあらわす boolean 値を返します (空の配列は追加されません)。

### エラー / 例外

"safe" オプションが設定されていて追加に失敗した場合に MongoCursorException をスローします (バージョン 1.0.1 以降)。

### 変更履歴

バージョン | 説明
--- | ---
1.0.5 | 二番目のパラメータがオプションの配列に変わりました。1.0.5 より前のバージョンでは、二番目のパラメータは "safe" オプションを表す boolean 値でした。

### 例

例1 MongoCollection::insert() の _id の例

オブジェクトを挿入すると、参照渡しでない限りはそこに _id フィールドを追加します。

`<?php
$a = array('x' => 1);
$collection->insert($a);
var_dump($a)
$b = array('x' => 1);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);
?>`

上の例の出力は、 たとえば以下のようになります。

    array(2) {
      ["x"]=>
      int(1)
      ["_id"]=>
      object(MongoId)#4 (0) {
      }
    }
    array(1) {
      ["x"]=>
      int(1)
    }

例2 MongoCollection::insert() での safe の例

この例は、同じ _id を持つ二つの要素を追加しようとするものです。 `safe` が設定されていれば、 MongoCursorException がスローされます。

`<?php
$person = array("name" => "Joe", "age" => 20);
$collection->insert($person, true);
// $person には _id フィールドができたので、
// もう一度追加しようとすると例外が発生します
try {
$collection->insert($person, true);
}
catch(MongoCursorException $e) {
echo "Can't save the same person twice!\n";
}
?>`

### 参考

MongoDB コアドキュメントの » insert を参照ください。

MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual